Abstract:
A multi-rank beamforming (MRBF) scheme in which the downlink channel is estimated and an optimal precoding matrix to be used by the MRBF transmitter is determined accordingly. The optimal precoding matrix is selected from a codebook of matrices having a recursive structure which allows for efficient computation of the optimal precoding matrix and corresponding Signal to Interference and Noise Ratio (SINR). The codebook also enjoys a small storage footprint. Due to the computational efficiency and modest memory requirements, the optimal precoding determination can be made at user equipment (UE) and communicated to a transmitting base station over a limited uplink channel for implementation over the downlink channel.

Description:
This application is a Division of U.S. patent application Ser. No. 12/026,120, filed Feb. 5, 2008, which in turn claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional patent application Ser. No. 11/554,278, filed Oct. 30, 2006, and U.S. patent application Ser. No. 11/674,330, filed Feb. 13, 2007, the entire contents and file wrappers of which are hereby incorporated by reference for all purposes into this application. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to the field of wireless communications, particularly wireless, high-rate communications using multiple-antenna systems. 
     BACKGROUND INFORMATION 
     The hostility of the wireless fading environment and channel variation makes the design of high rate communication systems very challenging. To this end, multiple-antenna systems have been shown to be effective in fading environments by providing significant performance improvements and achievable data rates in comparison to single antenna systems. Wireless communication systems employing multiple antennas both at the transmitter and the receiver demonstrate tremendous potential to meet the spectral efficiency requirements for next generation wireless applications. 
     Moreover, multiple transmit and receive antennas have become an integral part of the standards of many wireless systems such as cellular systems and wireless LANs. In particular, the recent development of UMTS Terrestrial Radio Access Network (UTRAN) and Evolved-UTRA has raised the need for multiple antenna systems to reach higher user data rates and better quality of service, thereby resulting in an improved overall throughput and better coverage. A number of proposals have discussed and concluded the need for multiple antenna systems to achieve the target spectral efficiency, throughput, and reliability of EUTRA. While these proposals have considered different modes of operation applicable to different scenarios, a basic common factor among them, however, is a feedback strategy to control the transmission rate and possibly a variation in transmission strategy. 
     The performance gain achieved by multiple antenna system increases when the knowledge of the channel state information (CSI) at each end, either the receiver or transmitter, is increased. Although perfect CSI is desirable, practical systems are usually built only on estimating the CSI at the receiver, and possibly feeding back some representation of the CSI to the transmitter through a feedback link, usually of limited capacity. The transmitter uses the information fed back to adapt the transmission to the estimated channel conditions. 
     Various beamforming schemes have been proposed for the case of multiple transmit antennas and a single receive antenna, as well as for higher rank MIMO systems, referred to as multi-rank beamforming (MRBF) systems. In MRBF systems, independent streams are transmitted along different eigenmodes of the channel resulting in high transmission rates without the need for space-time coding. 
     In addition to performance considerations, it is also desirable to achieve the highest possible spectral efficiencies in MIMO systems with reasonable receiver and transmitter complexity. Though space-time coding is theoretically capable of delivering very high spectral efficiencies, e.g. hundreds of megabits per second, its implementation becomes increasingly prohibitive as the bandwidth of the system increases. 
     A need therefore exists for an MRBF scheme that is capable of high throughput yet which can be implemented with reasonable complexity. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to quantized, multi-rank beamforming (MRBF) methods and apparatus, and in particular, methods and apparatus for precoding a signal transmitted in an MRBF system using an optimal precoder selected in accordance with a channel quality metric. In an exemplary embodiment, the precoded signal is transmitted in a high-speed downlink from a base station to user equipment (UE) and the channel quality metric includes a channel quality indicator (CQI) that is transmitted to the base station from the UE. 
     In an exemplary embodiment of the present invention, optimal precoder selection can be carried out with low computational cost and complexity using a precoding codebook having a nested structure which facilitates precoder selection. Moreover, the exemplary codebook requires less memory to store and yields better system throughput than those of other schemes. 
     In a further exemplary embodiment, Signal to Interference and Noise Ratio (SINR) information for one or more active downlink streams is used as a channel quality metric in selecting the optimal precoder. 
     The aforementioned and other features and aspects of the present invention are described in greater detail below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic block diagram of a wireless multiple-antenna MIMO communications system with quantized feedback of channel state information. 
         FIG. 2  is a block diagram of an exemplary embodiment of a transmitter in accordance with the present invention. 
         FIG. 3  is a block diagram of an exemplary embodiment of a receiver in accordance with the present invention. 
         FIG. 4  is a flowchart of an exemplary embodiment of a method of selecting a precoder matrix in accordance with the present invention. 
         FIG. 5  is a block diagram of an exemplary embodiment of a multi-codeword transmitter in accordance with the present invention. 
         FIG. 6  is a block diagram of an exemplary embodiment of a multi-codeword linear receiver in accordance with the present invention. 
         FIG. 7  is a block diagram of an exemplary embodiment of a multi-codeword successive interference canceling receiver in accordance with the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     An exemplary multiple-antenna communication system  100  with quantized feedback is schematically shown in  FIG. 1 . A transmitter  110 , such as at a base station (“NodeB”), transmits from m transmitting antennas  111 . 1 - 111 .m over a fading channel  130  to n receiving antennas  121 . 1 - 121 .n coupled to a receiver  120 , such as at user equipment (UE). The system  100  may be, for example, an orthogonal frequency-division multiplexing (OFDM) system, in which each of a plurality of orthogonal sub-carriers is modulated with a conventional modulation scheme, such as quadrature amplitude modulation (QAM), quadrature phase shift keying (QPSK), or the like. 
     The system  100  also incorporates an exemplary multi-rank beamforming (MRBF) scheme with precoding in accordance with the present invention. The transmitter  110  controls the transmitting antenna outputs in accordance with a set of precoding parameters, or a precoding matrix, which is selected based on an estimate of the channel  130  made at the receiver  120 . 
     At receiver  120 , a channel estimator  125  provides an estimate of the channel  130  to the receiver  120 . One or more parameters determined as a function of the channel estimate are also provided from the receiver  120  to the transmitter  110  via a feedback channel. In an exemplary embodiment, such fed-back parameters may include a channel quality indicator (CQI) and the index of a recommended precoding matrix that the transmitter  110  should use based on the channel conditions. The determination of this information and its use by the transmitter are described in greater detail below. 
     For purposes of analysis, a flat fading channel model is assumed in which the channel remains constant for each block of transmission. For a multiple-antenna system with m transmit and n receive antennas the complex baseband channel model can be expressed as follows:
 
 y=Hx+z,   (1)
 
where x is the m×1 vector of the transmitted signals, y is the n×1 vector of the received signals, H is an n×m matrix representing the channel, and z˜           (0, N 0 I) is the noise vector at the receiver.

       FIG. 2  shows a block diagram of a transmitter  200  which incorporates an exemplary precoding scheme in accordance with the present invention. A data stream d is first encoded by a forward error correction (FEC) block  210  and then modulated by a modulator  220  to generate modulated symbols u. The symbols u are provided to a serial-to-parallel converter (S/P)  240  which generates k streams of symbols that are to be simultaneously transmitted during the current symbol transmission interval. k is also referred to herein as the beam-forming rank. At output stage  240 , the symbol streams u 1 , u 2 , . . . u k , are subjected to pre-coding in accordance with an m×k precoder matrix Q, as follows: 
     
       
         
           
             
               
                 
                   x 
                   = 
                   
                     Qu 
                     = 
                     
                       [ 
                       
                         
                           
                             
                               u 
                               1 
                             
                           
                         
                         
                           
                             
                               
                                 
                                   
                                     
                                       
                                         
                                           u 
                                           2 
                                         
                                       
                                     
                                     
                                       
                                         ⋮ 
                                       
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     u 
                                     k 
                                   
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     The precoder matrix Q is chosen from a finite set of possible precoder matrices, Q, referred to as the precoding codebook. An exemplary precoding codebook with a successive, or nested, structure is described in greater detail below. 
     In the exemplary embodiment shown, the optimal precoder matrix is determined at the UE and an index representative thereof is fed-back to the nodeB transmitter  200 . A look-up block  250  uses the index to look-up the corresponding precoder matrix Q and provides Q to the output stage  240  which carries out the operation expressed by Eq. 2 to drive the corresponding m antennas accordingly. 
     In addition to the precoder matrix index, the UE also feeds back the CQI metric to the nobeB transmitter  200 . The CQI is used by a modulation and coding scheme (MCS) block  260  to determine an appropriate MCS corresponding to the value of the CQI that is fed back. The MCS information includes a coding rate for the FEC encoder  210  and a modulation scheme selection for the modulator. Exemplary coding rates may include, for example, 1:3, 1:2, 3:4, 1:1, etc., and exemplary modulation schemes may include QPSK, 16-QAM, 64-QAM, etc. 
       FIG. 3  shows a block diagram of an exemplary embodiment of a receiver  300  for operation with the transmitter  200  of  FIG. 2 . The signals y received at the antennas of the receiver are provided to a detector  310  and a channel estimator  320 . In a preferred embodiment, the detector  310  comprises a Linear Minimum Mean Squared Error (LMMSE) detector, although other detectors may be used. The detector  310  generates a stream of soft outputs or log likelihood ratios which are provided to a FEC decoder  330  which recovers the data stream d′. The channel estimator  320  provides an estimate of the channel to the detector  310  and to a precoder matrix and CQI block  340 . As described in greater detail below, the block  340  uses the channel estimate to determine the optimal precoder matrix to be used given the current channel conditions as well as a corresponding value for the CQI metric. The index of the precoder matrix thus determined and the CQI are fed-back to the transmitter, which uses that information as described above. The block  340  also provides the precoder matrix and the modulation scheme selection to the detector  310  and determines a coding rate to be used by the FEC decoder  330 . The modulation and the coding rate correspond to the CQI, which is fed-back to the transmitter. The transmitter uses the CQI to determine the same coding rate for the FEC encoder  210  and modulation scheme for the modulator  220  (see  FIG. 2 ). 
     As mentioned above, an exemplary embodiment of an MRBF communications system in accordance with the present invention uses a precoding codebook with a successive, or nested, structure, which will now be described. Exemplary methods and apparatus for optimal CQI-metric-based precoder selection are also described below, as well as the corresponding Signal to Interference and Noise Ratio (SINR) computations and LMMSE filters that take advantage of the proposed precoding structure to reduce computational complexity. 
     Codebook 
     In an exemplary embodiment, a precoding codebook for use with a transmitter having M antennas comprises the following sets of unit norm vectors:
 
{v i   1   εC   M }, { v   i   2   εC   M−1 }, . . . { v   i   M−1   εC   2 },  (3)
 
where C N  is the N-dimensional complex space and the first element of each vector is real. The corresponding M×M precoding matrices are formed using these vectors along with the unitary Householder matrix,
 
                 HH   ⁡     (   w   )       =     I   -     2   ⁢       ww   *            w        2             ,         
which is completely determined by the non-zero complex vector w. Further, let HH(0)=I. More specifically, the corresponding precoding matrices can be generated in accordance with the following expression:
 
                       A   (       v     i   1     1     ,     v     i   2     2     ,     v     i   3     3     ,   …     ⁢           )           =             [       v     i   1     1     ,       HH   ⁡     (       v     i   1     1     -     e   1   M       )       ⁡     [         0             v     i   2     2           ]       ,       HH   ⁡     (       v     i   1     1     -     e   1   M       )       ⁡     [         0               HH   ⁡     (       v     i   2     2     -     e   1     M   -   1         )       ⁡     [         0             v     i   3     3           ]             ]       ,   …     ⁢           ]     ,               (   4   )               
where e 1   N =[1, 0, . . . , 0] T εC N . Letting N 1  denote the size of the vector codebook {v i   1 εC M }, N 2  denote the size of the vector codebook {v i   2 εC M−1 } and so on, the total number of M×M precoding matrices that can be generated is N 1 ×N 2  . . . ×N M−1 . The rank-M precoding codebook can be any subset, i.e., can include some or all of the M×M matrices out of these N 1 ×N 2  . . . ×N M−1  possible M×M matrices.
 
     A precoding matrix for rank-k can be formed by selecting any k columns of the possible M columns of the precoding matrix generated in accordance with Eq. 4. An exemplary rank-3 precoder matrix corresponding to the first three columns can be constructed from three vectors v i   1 εC M , v j   2 εC M−1 , v k   3 εC M-2  as follows: 
                     A   ⁡     (       v   i   1     ,     v   j   2     ,     v   k   3       )       =             [       v   i   1     ,       HH   ⁡     (       v   i   1     -     e   1   M       )       ⁡     [         0             v   j   2           ]       ,       HH   ⁡     (       v   i   1     -     e   1   M       )       ⁡     [         0               HH   ⁡     (       v   j   2     -     e   1     M   -   1         )       ⁡     [         0             v   k   3           ]             ]         ]     .               (   5   )               
The rank-k precoding codebook is a set of such M×k precoding matrices and the maximum possible size of the codebook is N 1 ×N 2  . . . ×N M−1 . Note that a rank-k precoding codebook of smaller size can be obtained by selecting only a few of the M×M matrices and then picking any k columns out of each M×M matrix (the choice of the k column indices can also vary from one matrix to the other).
 
     In an exemplary embodiment, only the set of vectors {v i   1 εC M }, {v i   2 εC M−1 }, . . . , {v i   M−1 εC 2 } along with a set of complex scalars (described below) need be stored at the UE, thereby considerably lowering memory requirements at the UE, as compared to a scheme employing unstructured matrix codebooks. At the base station, where memory requirements are typically not as stringent, the matrix representation of the codebook can be stored. Moreover, it is not necessary for the UE to construct the matrix codewords to determine the optimal precoder matrix and the corresponding LMMSE filter for a given channel realization. 
     Precoder Selection 
       FIG. 4  is a flow chart providing an overview of an exemplary method of selecting the optimal precoder matrix in accordance with the present invention. Further details are set forth below. In an exemplary embodiment, the method shown is carried out at the UE, such as shown in  FIG. 3 . 
     As shown in  FIG. 4 , an estimate of the channel is made at  410 , as described in greater detail below. At  420 , based on the channel estimate H, an effective SINR is computed for each possible precoder matrix, in each beamforming rank. At  430 , the computed effective SINRs are compared and for each rank, the precoder matrix with the greatest corresponding effective SINR is selected. At  440 , the transmission rates that are anticipated by using the precoder matrices selected at  430  are determined. At  450 , the anticipated transmission rates are compared, and the corresponding precoder matrix (and thus its rank) is selected for implementation. At  460 , the selected precoder matrix, or a representation thereof, such as an index, is provided to the transmitter and to the receiver for implementation. The selected precoding rank is implicitly identified with the selected precoder matrix. 
     As mentioned above, in an exemplary embodiment, the precoder matrix selection takes place at the receiver (e.g., UE) and a representation (e.g., index) of the matrix selected is communicated to the transmitter (e.g., NodeB) via a feed-back channel. It is also contemplated by the present invention, however, that this process may be carried out at the transmitter instead. 
     The various aspects of the method of  FIG. 4  will now be described in greater detail. 
     SINR Computations 
     In computing SINR, the channel model estimate can be expressed as H=[h 1 , h 2 , h 3 , . . . h m ], where m is the number of transmit antennas. For a precoded symbol stream p, where p=1, 2, . . . k, one can define:
 
 H   (p)   =[h   p   , h   p+1   , . . . h   m ].  (6)
 
For a precoding matrix of rank k, denoted by A(v i     1     1 , v i     2     2 , . . . , v i     k     k ), a matrix W i     1     , . . . , i     k     1,k  can be defined as follows:
 
 W   i     1     , . . . , i     k     1,k   =[S   i     1     , . . . , i     k     1,k   ]*S   i     1     , . . . , i     k     1,k ,  (7)
 
where S i     1     , . . . , i     k     1,k =HA(v i     1     1 , v i     2     2 , . . . v i     k     k ) can be expanded as follows:
 
     
       
         
           
             
               
                 
                   
                     S 
                     
                       
                         i 
                         1 
                       
                       , 
                       … 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         i 
                         k 
                       
                     
                     
                       1 
                       , 
                       k 
                     
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               
                                 Hv 
                                 
                                   i 
                                   1 
                                 
                                 1 
                               
                               , 
                               
                                 
                                   
                                     H 
                                     
                                       ( 
                                       2 
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     v 
                                     
                                       i 
                                       2 
                                     
                                     2 
                                   
                                 
                                 - 
                                 
                                   2 
                                   ⁢ 
                                   
                                     
                                       α 
                                       
                                         
                                           i 
                                           1 
                                         
                                         , 
                                         
                                           i 
                                           2 
                                         
                                       
                                       
                                         1 
                                         , 
                                         2 
                                       
                                     
                                     
                                       α 
                                       
                                         i 
                                         1 
                                       
                                       
                                         ( 
                                         1 
                                         ) 
                                       
                                     
                                   
                                   ⁢ 
                                   
                                     ( 
                                     
                                       
                                         Hv 
                                         
                                           i 
                                           1 
                                         
                                         1 
                                       
                                       - 
                                       
                                         h 
                                         1 
                                       
                                     
                                     ) 
                                   
                                 
                               
                               , 
                               … 
                               ⁢ 
                               
                                   
                               
                               , 
                             
                           
                         
                         
                           
                             
                               
                                 
                                   H 
                                   
                                     ( 
                                     k 
                                     ) 
                                   
                                 
                                 ⁢ 
                                 
                                   v 
                                   
                                     i 
                                     k 
                                   
                                   k 
                                 
                               
                               - 
                               
                                 2 
                                 ⁢ 
                                 
                                   
                                     ∑ 
                                     
                                       j 
                                       = 
                                       1 
                                     
                                     
                                       k 
                                       - 
                                       1 
                                     
                                   
                                   ⁢ 
                                   
                                     
                                       
                                         α 
                                         
                                           
                                             i 
                                             j 
                                           
                                           , 
                                           
                                               
                                           
                                           ⁢ 
                                           
                                             … 
                                             ⁢ 
                                             
                                                 
                                             
                                             ⁢ 
                                             
                                               i 
                                               k 
                                             
                                           
                                         
                                         
                                           j 
                                           , 
                                           k 
                                         
                                       
                                       
                                         α 
                                         
                                           i 
                                           j 
                                         
                                         
                                           ( 
                                           j 
                                           ) 
                                         
                                       
                                     
                                     ⁢ 
                                     
                                       ( 
                                       
                                         
                                           
                                             H 
                                             
                                               ( 
                                               j 
                                               ) 
                                             
                                           
                                           ⁢ 
                                           
                                             v 
                                             
                                               i 
                                               j 
                                             
                                             j 
                                           
                                         
                                         - 
                                         
                                           h 
                                           j 
                                         
                                       
                                       ) 
                                     
                                   
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     The SINR for the precoded stream p obtained with an LMMSE detector is given by: 
                       SINR   p     =       ρ       (       I   ρ     +     W       i   1     ,   …   ⁢           ,     i   k         1   ,   k         )       p   ,   p       -   1         -   1       ,           (   9   )               
where ρ=P/N 0 , P is the average power per stream and N 0  is the noise variance. The effective SINR for the rank-k precoding matrix A(v i     1     1 , v i     k     2 , . . . , v i     k     k ) can be computed either as
 
               exp   (       ∑     p   =   1     k     ⁢     ln   ⁡     (     1   +     SINR   p       )         )     -     1   ⁢           ⁢   or   ⁢           ⁢   as   ⁢           ⁢       ∑     p   =   1     k     ⁢       ln   ⁡     (     1   +     SINR   p       )       .               
The LMMSE filter is given by:
 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           ( 
                           
                             
                               I 
                               ρ 
                             
                             + 
                             
                               W 
                               
                                 
                                   i 
                                   1 
                                 
                                 , 
                                 
                                     
                                 
                                 ⁢ 
                                 … 
                                 ⁢ 
                                 
                                     
                                 
                                 , 
                                 
                                   i 
                                   k 
                                 
                               
                               
                                 1 
                                 , 
                                 k 
                               
                             
                           
                           ) 
                         
                         
                           - 
                           1 
                         
                       
                       ⁡ 
                       
                         [ 
                         
                           S 
                           
                             
                               i 
                               1 
                             
                             , 
                             … 
                             ⁢ 
                             
                                 
                             
                             , 
                             
                               i 
                               k 
                             
                           
                           
                             1 
                             , 
                             k 
                           
                         
                         ] 
                       
                     
                     * 
                   
                   . 
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     In the case of an OFDM system, a narrow band channel model as in Eq. 1, can be assumed for each sub-carrier. Since the channel matrices are highly correlated among adjacent sub-carriers, the same precoder can be used in several consecutive sub-carriers. In this case, the SINRs and LMMSE filters can be determined for the channel seen on each sub-carrier using the above expressions. Moreover in this case, the effective SINR for the precoding matrix of rank k can be obtained using any one of the standard combining formulae. For instance, the effective SINR can be determined as: 
                       ∑     i   ∈   Ω               ⁢       ∑     p   =   1     k     ⁢       ln   ⁡     (     1   +     SINR   p   i       )       /        Ω              ,           (   11   )               
where SINR p   i  denotes the SINR computed for the stream p and subcarrier i using Eq. 9 and where Ω denotes the set of subcarriers using the same precoder.
 
     Due to the nested structure of the codebook, the SINR computations and precoder selection are considerably simplified by avoiding redundant computations. 
     4×2 Embodiment 
     An exemplary embodiment of a system with a transmitter having four antennas (m=4), will now be described. In this embodiment, there are 16 possible precoder matrices per rank and the following vector codebooks are used:
 
{ v   i   1   εC   4 } i=1   4   ,{v   j   2   εC   3 } j=1   4 ,[1,0] T   εC   2 .  (12)
 
In the case of a UE with two receive antennas (n=2), transmission can occur in rank-1 or rank-2. The 16 possible precoder matrices for rank-2 are obtained as:
 
                       A   ⁡     (       v   i   1     ,     v   j   2       )       =     [       v   i   1     ,       HH   ⁡     (       v   i   1     -     e   1   4       )       ⁡     [         0             v   j   2           ]         ]       ,     1   ≤   i     ,     j   ≤   4.             (   13   )               
The 16 possible precoder matrices for rank-1 are obtained as the second columns of all 16 possible matrices {A(v i   1 , v j   2 )}, respectively.
 
     An exemplary CQI-metric based selection scheme will now be described. For simplicity, the receiver can be assumed to be an LMMSE receiver and the channel can be assumed to obey a flat fading model. In an OFDM system where the same precoder is used over several consecutive sub-carriers (referred to as a cluster), the following steps (with some straightforward modifications) are performed once for each sub-carrier in the cluster. To reduce complexity, however, a few representative sub-carriers from the cluster can be selected and the following steps performed once for each representative sub-carrier. 
     For a channel estimate matrix H=[h 1 , h 2 , h 3 , h 4 ] of size 2×4, the following matrices are determined:
 
 HA ( v   i   1   ,v   j   2 )=[ Hv   i   1   ,{tilde over (H)}v   j   2 −α i,j ( Hv   i   1   −h   1 )],  (14)
 
where {tilde over (H)}=[h 2 , h 3 , h 4 ] and the complex scalars {α i,j } i,j=1   4  are channel-independent factors that are pre-computed and stored at the UE. The optimal rank-1 precoding matrix can be determined as:
 
arg max i,j   ∥{tilde over (H)}v   j   2 −α i,j ( Hv   i   1   −h   1 )∥ 2 .  (15)
 
     The following matrices are then computed: 
                           W     i   ,   j       =         (     HA   ⁡     (       v   i   1     ,     v   j   2       )       )     *     ⁢     HA   ⁡     (       v   i   1     ,     v   j   2       )                     =     [                  Hv   i   1          2               (     Hv   i   1     )     *     ⁢     (         H   ~     ⁢           ⁢     v   j   2       -       α     i   ,   j       ⁡     (       Hv   i   1     -     h   1       )         )                     (         H   ~     ⁢           ⁢     v   j   2       -       α     i   ,   j       ⁡     (       Hv   i   1     -     h   1       )         )     *     ⁢     Hv   i   1                        H   ~     ⁢           ⁢     v   j   2       -       α     i   ,   j       ⁡     (       Hv   i   1     -     h   1       )              2           ]                   (   16   )               
and the optimal rank-2 precoding matrix is determined as:
 
                     arg   ⁢           ⁢       min     i   ,   j       ⁢         (       I   ρ     +     W             ⁢     i   ,   j           )       1   ,   1       -   1       ⁢       (       I   ρ     +     W             ⁢     i   ,   j           )       2   ,   2       -   1             ,           (   17   )               
where ρ=P/N 0 , P is the average power per stream and N 0  is the noise variance. Note that in the OFDM case, the optimal precoder for a cluster is determined using the corresponding effective SINRs which are obtained using the combining formula described above.
 
     The MMSE filters are then determined for the optimal precoder as described above. 
     The effective SINRs for the precoders selected for rank-1 and rank-2 are determined as described above. A more detailed description for a 4×2 embodiment is found in the aforementioned U.S. Provisional Patent Application No. 60/888,193, which is incorporated herein by reference in its entirety. 
     In a further exemplary embodiment, there are 32 possible precoder matrices per rank and the following vector codebooks are used:
 
{ v   i   1   εC   4 } i=1   8   ,{v   j   2   εC   3 } j=1   4 ,[1,0] T   εC   2 .  (18)
 
     Due to the nested structure of the codebook, significant complexity savings can be achieved by avoiding the redundant computations otherwise involved. The savings in computational complexity (e.g., number of multiplications) achieved by the present invention over other approaches, including other structured codebook approaches such as that described in “Codebook Design for E-UTRA MIMO Pre-coding,” Document No. R1-062650, TSG-RAN WG1 Meeting #46bis, Seoul, South Korea, Oct. 9-13, 2006, can be quantified. In the case of 16 possible precoder matrices, for rank-2, the exemplary codebook implementation of the present invention results in L×118 fewer multiplications, where L is the number of representative sub-carriers used for precoder selection. For rank-1, there are L×64 fewer multiplications with the exemplary precoder scheme of the present invention. In the case of 32 possible precoder matrices, for rank-2, the exemplary codebook implementation of the present invention results in L×280 fewer multiplications, and for rank-1, L×168 fewer multiplications. The savings over unstructured codebook schemes are even greater. 
     Multi-Codeword Transmission 
     The exemplary transmitter and receiver described above with reference to  FIGS. 2 and 3 , respectively, can be readily extended for multi-codeword transmission. For q codeword transmission, where q can be at most m, the number of transmitting antennas, the p th  codeword (where 1≦p≦q) is transmitted using k p  streams along k p  columns of the precoder matrix. The precoder rank is 
             k   =       ∑     p   =   1     q     ⁢       k   p     .             
Furthermore, when the CQI for the p th  codeword is below a threshold, k p =0, so that the p th  codeword is not transmitted.
 
     For an m×k precoder matrix Q of rank k, a mapping rule decides the split k→(k 1 , . . . , k q ) as well as the column indices of Q that the k p  streams of the p th  codeword, where 1≦p≦q, should be sent along. For a given precoder matrix, split and choice of column indices, the SINRs for each codeword can be computed using the formulae given above (with simple modifications). Then, for a given precoder matrix, the optimal split and choice of column indices is the one which maximizes the anticipated transmission rate, which itself can be determined from the computed SINRs. Finally, the optimal precoder matrix is the one which along with its optimal split and choice of column indices, yields the highest anticipated transmission rate. 
       FIG. 5  shows a block diagram of an exemplary embodiment of a q codeword transmitter  500  based on the architecture of the transmitter  200  shown in  FIG. 2 . As shown in  FIG. 5 , each of the q data streams is FEC encoded and modulated independently. Moreover, a CQI for each of the q data streams as well as mapping data are fed-back from the receiver. 
       FIG. 6  shows a block diagram of an exemplary embodiment of a q codeword linear receiver  600  based on the architecture of the receiver  300  shown in  FIG. 3 . The receiver  600  can operate with the transmitter  500  of  FIG. 5 . In this embodiment, the q codewords are demodulated and then FEC decoded independently. 
       FIG. 7  shows a block diagram of an exemplary embodiment of a q codeword receiver  700  incorporating successive intereference cancellation (SIC). In this embodiment, each of q−1 recovered data streams, corresponding to codewords  1  through q−1, is re-encoded by a FEC encoder  735  and re-modulated by a modulator  737 , and then fed-back to the detector  710 . 
     The mapping information fed back from the receiver includes the split and the choice of column indices. The mapping rule can also be fixed, or varied slowly (“semi-static”). In this case, each m×k precoder matrix Q is associated with one split (k 1 , . . . , k q ) and one choice of column indices. With a fixed or semi-static mapping rule, the receiver need not feed-back mapping information to the transmitter because it can be inferred by the transmitter based on just the precoder matrix index that is fed-back. 
     It is understood that the above-described embodiments are illustrative of only a few of the possible specific embodiments which can represent applications of the invention. Numerous and varied other arrangements can be made by those skilled in the art without departing from the spirit and scope of the invention.