# Patent

## Title
Precoding with a codebook for a wireless system

## Abstract

A base station used in a wireless communications system with multiple transmission ranks is disclosed. The base station comprises a memory to store a codebook for a transmission rank, a beamforming controller to precode data with a precoding matrix selected from the codebook, and a transmitter to transmit the precoded data to a user equipment, wherein the precoding matrix is selected according to a first description and a second description, which are unique to the precoding matrix, and wherein the second description provides a finer description of the codebook than the first description. Other methods, systems, and apparatuses also are disclosed.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of co-pending patent application Ser. No. 14/037,601, entitled “PRECODING WITH A CODEBOOK FOR A WIRELESS SYSTEM,” filed 26 Sep. 2013, which in turn is a division of patent application Ser. No. 13/952,160, entitled “PRECODING WITH A CODEBOOK FOR A WIRELESS SYSTEM,” filed 26 Jul. 2013, which in turn is a division of patent application Ser. No. 13/547,544, entitled “METHOD OF PRECODING WITH A CODEBOOK FOR A WIRELESS SYSTEM,” filed 12 Jul. 2012, which in turn is a division of patent application Ser. No. 13/029,561, entitled “Method of Precoding with a Codebook for a Wireless System With Multiple Transmission Ranks and a Quantized Beamforming Matrix,” filed 17 Feb. 2011, which in turn is a division of patent application Ser. No. 11/674,330, entitled “Structured Codebook and Successive Beamforming for Multiple Antenna Systems”, filed 13 Feb. 2007, which in turn claimed priority to Provisional Application No. 60/743,290, filed 14 Feb. 2006 and claimed the benefit of patent application Ser. No. 11/554,278, filed 30 Oct. 2006, 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 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. This has spurred research in the efficient design and deployment of various multiple-input-multiple-output (MIMO) configurations for practical systems. The collection of papers in IEEE Transactions on Information Theory, vol. 49, Issue 10, October 2003, represents a sample of the wide array of research in MIMO systems.
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. These proposals have considered different modes of operation applicable to different scenarios. The basic assumptions that vary among such proposals include: (i) using a single stream versus multiple streams; (ii) scheduling one user at a time versus multiple users; (iii) having multiple streams per user versus a single stream per user; and (iv) coding across multiple streams versus using independent streams. A basic common factor, however, among the various downlink physical layer MIMO proposals is a feedback strategy to control the transmission rate and possibly a variation in transmission strategy.
While the proposals for the use of multiple antenna systems in downlink EUTRA such as per antenna rate control (PARC), per stream rate control (PSRC), per group rate control (PGRC), per user and stream rate control (PUSRC), per user unitary rate control (PU2RC), single codeword/multiple codeword transmission (SCW/MCW), spatial domain multiplex/spatial domain multiple access (SDM/SDMA), and current transmit diversity scheme in release 6 such as selection transmit diversity (STD), space-time transmit diversity (STTD), and transmit adaptive antennas (TxAA) differ in terms of the system description, they all share the following features: (i) possible multiplexing of streams to multiple streams; (ii) possible use of linear precoding of streams before sending to antennas; (iii) possible layering of the streams between the antennas; and (iv) rate control per stream or multiple jointly coded streams.
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 the CSI to the transmitter through a feedback link with a very limited capacity. Using CSI at the transmitter, the transmission strategy is adapted over space (multiple antennas) and over time (over multiple blocks).
The performance of multiple antenna systems with or without knowledge of the channel state information has been extensively analyzed over the last decade. Partial feedback models have been considered due to the limitations of the feedback channel from the receiver to the transmitter. Different partial feedback models include: channel mean feedback (see, e.g., A. Narula et al., “Efficient use of side information in multiple-antenna data transmission over fading channels,” IEEE Journal on Selected Areas of Communications, vol. 16, no. 8, pp. 1423-1436, October 1998); channel covariance feedback (E. Visotsky et al., “Space-time precoding with imperfect feedback,” in Proceedings ISIT 2000, Sorrento, Italy, June 2000); feedback of k-out-of-min(M,N) eigenvectors and eigenvalues of an M×N multiple antenna channel (J. Roh et al., “Multiple antenna channels with partial channel state information at the transmitter,” Wireless Communications, IEEE Transactions on, vol. 3, pp. 677-688, 2004); partial feedback based on statistical model and robust design (A. Abdel-Samad et al., “Robust transmit eigen-beamforming based on imperfect channel state information,” in Smart Antennas, 2004. ITG Workshop on, 2004); and quantized feedback.
Beamforming introduces an alternative use of quantized feedback bits in which the design is almost independent of the average received SNR and constant average transmit power is assumed at the transmitter. In beamforming, independent streams are transmitted along different eigenmodes of the channel resulting in high transmission rates without the need to perform space-time coding.
Beamforming has received considerable attention for the case of multiple transmit antennas and a single receive antenna. (See, e.g., Narula et al. cited above.) Rate regions for the optimality of dominant eigen-beamformers (rank-one beamformers) in the sense of maximizing mutual information has also been studied (see, e.g., S. A. Jafar, et al., “Throughput maximization with multiple codes and partial outages,” in Proceedings of Globecom Conference, San Antonio, Tex., USA, 2001), as have systematic constructions for finite-size beamformer codebooks for multiple transmit single receive antenna systems resulting in near optimal performance. Similarly, a design criterion for a dominant eigen-beamformer, for use with both single and multiple receive antenna systems, has been proposed. (See D. Love et al., “Grassmannian beamforming for multiple-input multiple-output wireless systems,” IEEE Transactions on Information Theory, vol. 49, pp. 2735-2747, 2003.) As discovered by the inventors of the present invention, however, such unit rank beamformers can result in significant performance degradation with MIMO systems for certain transmission rates, thus requiring higher rank transmission schemes.
The design of higher rank beamformers for MIMO systems has also been studied in the past. Roh et al. addressed the problem of MIMO beamforming in the presence of perfect knowledge about a subset of the channel eigenvectors. Knopp et al. explored the design of joint power control and beamforming when the eigenvectors and the eigenvalues are completely known at the transmitter. (See R. Knopp et al., “Power control and beamforming for systems with multiple transmit and receive antennas,” IEEE Transactions on Wireless Communications, vol. 1, pp. 638-648, October 2002.) Jafar et al. derived the conditions for the optimality of MIMO beamforming (in the sense of achieving capacity) when the channel covariance is fed back to the transmitter. (See, S. A. Jafar et al. “Throughput maximization with multiple codes and partial outages,” in Proceedings of Globecom Conference, San Antonio, Tex., USA, 2001.) The design of MIMO systems using multiple simultaneous streams for transmission when finite rate feedback is available in the system has also been studied (see Love et al., cited above.) The design criterion therein sought to quantize the set of active eigenvectors such that the loss in SNR compared to perfect channel feedback is minimized.
In addition to the aforementioned considerations, it is desirable to achieve the highest possible spectral efficiencies in MIMO systems with reasonable receiver and transmitter complexity. Though theoretically space-time codes are capable of delivering very high spectral efficiencies, e.g. 100s of megabits per second, their implementation becomes increasingly prohibitive as the bandwidth of the system increases.
SUMMARY OF THE INVENTION
The present invention is directed to quantized, multi-rank beamforming methods and apparatus. Embodiments of the present invention can considerably outperform known beamforming and precoding techniques for different transmission rates. Advantageously, the present invention can be implemented with low complexity at the transmitter, and can operate with a low feedback rate, common in most practical systems.
In an exemplary embodiment, a multi-rank beamforming strategy is presented in order to efficiently use the available spatial diversity in the MIMO downlink of Evolved-UTRA and UTRAN with the goal of achieving higher user data rates, and better quality of service with improved overall throughput and better coverage. The exemplary embodiment combines transmission rank control, rank-specific and structured quantized precoding codebook design, and successive beamforming.
A structured codebook in accordance with the present invention allows for successive beamforming and considerably reduces the memory requirement and computational complexity of the algorithm in comparison to the optimal codebook, while providing near-optimal performance. Successive beamforming in accordance with the present invention can be used to perform a finer quantization of a single vector in rank-1 transmission. Furthermore, re-use of the same quantization codebook for all ranks leads to a significant reduction in the memory required to store quantization vectors.
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 multiple-antenna communications system with quantized feedback of channel state information.
FIG. 2 is a block diagram of an exemplary embodiment of a base station of an orthogonal frequency-division multiplexing (OFDM) wireless MIMO communication system with feedback from the user equipment (UE).
FIG. 3 is a flowchart of the operation of a base station, such as that of FIG. 2, in accordance with an exemplary embodiment of the present invention.
FIG. 4 is a flowchart of the operation of a UE in accordance with an exemplary embodiment of the present invention.
FIG. 5 is a flowchart of an algorithm for determining rank and power allocations for a downlink using a modified capacity measure in accordance with an exemplary embodiment of the present invention.
FIG. 6 is a flowchart of a successive beamforming algorithm in accordance with an exemplary embodiment of the present invention.
FIG. 7 is a flowchart of a CQI calculation algorithm in accordance with an exemplary embodiment of the present invention.
FIG. 8A is a table of exemplary parameters used in simulating an exemplary embodiment of the present invention and FIG. 8B shows an exemplary format used for feedback information in such an embodiment.
FIG. 9 is a graph of bits per chunk vs. chunk size for the simulated exemplary embodiment of the present invention.
FIG. 10 is a graph of throughput vs. SNR for the simulated exemplary scheme against fundamental limits using a finite set of rates (5 CQI bits).
FIG. 11 is a graph of throughput vs. SNR for the simulated exemplary scheme as compared to selected known schemes.
FIG. 12 is a graph of throughput vs. SNR showing the effect of feedback error for the simulated exemplary embodiment of the present invention.
FIGS. 13A and 13B show a flowchart which illustrates the UE operation for an alternative exemplary embodiment of a rank adaptation scheme for a MIMO downlink in which the beamforming rank may be provided by the base station and which can accommodate various receivers.
FIG. 14 shows a flowchart of an algorithm for calculating CQIs for MCW transmission for reception by a MMSE-SIC decoder.
FIG. 15 shows a flowchart of an algorithm for calculating a CQI for SCW transmission for reception by a ML decoder.
FIG. 16 shows a flowchart of an algorithm for calculating a CQI for SCW transmission for reception by a LMMSE decoder.



DETAILED DESCRIPTION
An exemplary multiple-antenna communication system 100 with quantized feedback is schematically shown in FIG. 1. A transmitter 110 transmits from t transmitting antennas 111.1-111.t over a fading channel 130 to r receiving antennas 121.1-121.r coupled to a receiver 120. A channel estimator 125 provides an estimate of the channel 130 to the receiver 120. The channel estimate is also quantized and provided to the transmitter 110 via a quantized rate control feedback channel 135.
For purposes of analysis, a flat fading channel model is assumed in which the channel remains constant for each block of transmission. Furthermore, the feedback channel 135 is assumed to be an error-free, zero-delay feedback channel from the receiver to the transmitter, carrying B bits of information about the channel realization every frame.
For a multiple-antenna system with r receive and t transmit antennas the baseband channel model can be expressed as follows:

Y=HX+W,  (1)

where Y is the r×1 received column vector, H is the r×t channel matrix, X is the t×1 transmit column vector, and W is the r×1 noise column vector. The input is subject to an average power constraint P, i.e.:

tr(Q)≦P, where Q=[XXH],  (2)

[.] denotes the expected value, and tr(.) represents the trace of a matrix. A goal of an exemplary space adaptation scheme is to minimize the frame error rate, which tightly follows the outage behavior of the transmission strategy, defined as:

Pout=Prob{log det(In+HQHH)<R}, 

s.t. tr(Q)≦P, Q≦0  (3)

where In is an identity matrix of size n and R is the attempted transmission rate.

In an exemplary multi-rank beamforming scheme in accordance with the present invention, channel state information (CSI) is available to the transmitter (CSIT) as well as the receiver (CSIR). Where perfect CSIT and CSIR are assumed, the capacity of the multiple-antenna fading channel 130 can be achieved through power adaptation over time (one average power for each channel state) and water-filling power control over multiple eigenvectors of the channel for each block of transmission. This translates into power control over multiple antennas in the spatial domain. The nature of the water-filling power control implies that transmission may occur only on a subset of eigenvectors of the channel depending on the channel condition. Therefore, to maximize the system throughput, the number of eigenvectors in which communication occurs, defined as the transmission rank, is controlled. For a given transmission rate, the transmission rank depends on the channel condition, where the transmission rank is at most equal to m=min(t, r). Thus, the set of all channel conditions is divided into m partitions, where the k-th partition represents the channel conditions for which the beamformer rank is equal to k, i.e., transmission occurs on the largest k eigenvectors out of a total of min(t, r) eigenvectors of the channel H.
Codebook Design
The codebook design for the beamforming or precoding in multiple antenna system entails finding the best packing in a Grassmanian manifold.
In general, each precoding matrix U of size t×n defines an n-dimensional subspace of a t-dimensional complex vector space W=, where C is the space of complex numbers. The matrix U may interchangeably be used to denote the space that is spanned by U. The set of all precoding matrices of size t×n constitutes a Grassmannian manifold denoted by G(t, n) or Gn(W). The set of all beamforming vectors of size t×1 forms a Grassmanian manifold of G(t, 1), that is also known as the projective space P(W).
A packing in a Grassmannian manifold is then defined with respect to a metric in the corresponding space. Using the metric, the distance between two points on the manifold can be defined. Since each point in Grassmanian manifold G(t, n) is a n-dimensional space, the metric in fact measures the subspace distance between two t-dimensional subspaces.
Two metrics have been used for generating the precoding codebooks in multiple antenna communication systems: chordal distance and Fubini-Study distance. These metrics, however, are not the best metrics to be used for the design of precoders for multiple antenna systems. We can show that the packing with respect to the Fubini-Study metric gives the precoding codebook that is good only at very high SNRs and the packing with respect to Chordal distance gives the precoding codebook that is good only at very low SNRs.
In an exemplary embodiment, a new metric (called “p-metric”) is used which is provably a valid metric for all the positive real values of a parameter pε. The p-metric enables the design of a codebook that is good for a desired range of SNR. An interesting property of the p-metric is that as p goes to infinity, the p-metric becomes equivalent to the Fubini-Study metric and as p goes to zero, the p-metric becomes equivalent to chordal distance. In other words, “∞-metric” and “0-metric” are equivalent to Fubini-Study and chordal metric, respectively.
The chordal distance, Fubini-Study distance, and p-metric between two subspaces Vt×n and Ut×n are respectively defined as:




  
    
      
        
          
            d
            chordal
          
          =
          
            
              1
              
                2
              
            
            ⁢
            
              
                
                
                  
                    UU
                    *
                  
                  -
                  
                    VV
                    *
                  
                
                
              
              F
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  
  
    
      
        
          
            d
            FS
          
          =
          
            Arc
            ⁢
            
              
            
            ⁢
            
              cos
              ⁡
              
                (
                
                  
                  
                    det
                    ⁡
                    
                      (
                      
                        
                          U
                          *
                        
                        ⁢
                        V
                      
                      )
                    
                  
                  
                
                )
              
            
          
        
        ,
      
    
    
      
        (
        5
        )
      
    
  
  
    
      
        
          d
          P
        
        =
        
          Arc
          ⁢
          
            
          
          ⁢
          
            
              cos
              ⁡
              
                (
                
                  
                    
                    
                      det
                      ⁡
                      
                        (
                        
                          
                            I
                            +
                            
                              
                                pU
                                *
                              
                              ⁢
                              
                                VV
                                *
                              
                              ⁢
                              U
                            
                          
                          
                            
                              (
                              
                                1
                                +
                                p
                              
                              )
                            
                            n
                          
                        
                        )
                      
                    
                    
                  
                  
                    1
                    2
                  
                
                )
              
            
            .
          
        
      
    
    
      
        (
        6
        )
      
    
  




For the purpose of successive beamforming, one set of quantized beamforming codebooks is generated consisting of k codebooks, one for each packing of lines in the Grassmannian manifold of G(t−i+1, 1), for i=1, 2, . . . , k. The optimal packing uses the p-metric as the measure of the distance between the subspaces where the parameter p is chosen some where in the desired range of SNR. The distribution of the vectors is not necessarily isotropic, however, therefore the codebook design depends on the channel statistics and is not necessarily the packing with respect to this metric. For an iid Rayleigh channel, the optimal codebook is generated by finding the optimal packing with respect to the p-metric. At high SNR, this packing becomes the packing with respect to the Fubini-Study metric and at low SNR becomes the packing with respect to chordal distance.
Successive Beamforming
The singular value decomposition of the channel estimate H can be expressed as follows:

H=UDV*,  (7)

where U and V are unitary matrices representing the left and right eigenvectors of H and D is a diagonal matrix of eigenvalues in descending order (V* denotes the hermitian of matrix V). The column of the unitary matrix V represents different eigenmodes of the channel.

V=[v1v2 . . . vn].  (8)

An exemplary multi-rank beamformer picks the first k columns of the matrix V that correspond to the first k dominant eigenmodes of the channel due to the properties of the singular value decomposition. Choosing the rank of the beamformer is based on a long term rank prediction policy by the transmitter, e.g. the base station (BS), or it can be performed at the receiver, e.g. the mobile user equipment (UE), by using a modified capacity calculation. Details of exemplary schemes of performing rank adaptation are described below with reference to flowcharts shown in FIGS. 3-7 and 13A-16.
For a given rank k, the aim of successive beamforming is to find the best quantization of the actual k dominant eigenmodes of the channel. The successive beamforming for [v1v2 . . . vk] is performed as follows.
First, v1 is quantized using the codebook C(t) of the t-vectors in t-dimensional complex vector space t. The quantized vector u1εC(t) is chosen to maximize v1,u1=|v1*u1|. The index of u1 constitutes the quantized feedback information for the first vector.
Second, a rotation matrix φ(u1) is found such that:

φ(u1)u1=e1=[1;0;0; . . . ;0]  (9)

where e1 denotes a unit norm vector in a principal direction [1;0;0; . . . ;0].

Third, all of the vectors v1 v2 . . . vn are rotated by the rotation matrix φ(u1), whereby:

V′=[v1′v2′ . . . vn′]=φ(u1)V=[φ(u1)v1φ(u1)v2 . . . φ(u1)vn],  (10)

where all of the first elements of v′2v3′ . . . vn′ are zero due to the fact that V is a unitary matrix and all of its columns are orthogonal. Moreover, if u1=v1, the first vector v1′ becomes e1.

Fourth, the same beamforming procedure described in the first three steps are applied to a new matrix:

{tilde over (V)}=V′(2:end,2:end).  (11)

This step is successively performed until all the vectors are quantized.

The above successive beamforming technique generates different amounts of feedback for different ranks. Therefore, if the number of feedback bits is given, different size codebooks can be generated to be used for different rank beamforming. For example, where the possible rank of the channel is 1 or 2, and 8 bits of feedback are available, 1 bit can be dedicated for rank selection, and the other 7 bits for description of the eigenmodes. For rank 1, the 7 bits would provide for 27=128 t-vectors to be used for the quantization of the dominant eigenmode of the channel. For rank 2, 4 bits can be used for the first eigenmode and 3 bits for the second eigenmode. As such, there would be 24=16 t-vectors to quantize the first eigenmode, and 23=8 (t−1)-vectors to quantize the second eigenmode.
Due to the computational complexity and memory requirement of such a beamforming strategy, an alternative exemplary beamforming strategy which uses the same idea of successive beamforming described above to quantize the vectors for the rank-1 case, will now be described. In this exemplary embodiment, the same codebook of 16 t-vectors and 8 (t−1)-vectors that is used for rank-2 beamforming is also used for rank-1 beamforming. Assume that only one vector v1 is to be quantized using k codebooks comprised of t-vectors, (t−1)-vectors, etc., up to and including (t−k+1)-vectors, respectively.
First, v1 is quantized using the codebook C(t) of the t-vectors in t. The quantized vector u1εC(t) is chosen to maximize v1,u1=|v1*u1|.
Second, to find a finer description of v1, the residual part of v1 that lies in the orthogonal space defined by span{u1⊥} is determined. Let:

v2=v1−(v1*u1)u1,  (12)

which is then normalized:

v2′=v2/|v2|.  (13)

A rotation matrix φ(u1) is then determined such that:

φ(u1)u1=e1=[1;0;0; . . . ;0].  (14)

Third, the vector v2 is rotated by the rotation matrix φ(u1):

v2n=φ(u1)v2′  (15)

where the first element of v2n is zero due to the fact that V is a unitary matrix and all of its columns are orthogonal.

In a fourth step, the above three steps are then performed on a new vector, {tilde over (v)}2=v2n (2:end). This step will be performed successively until all k codebooks of t-vectors, (t−1)-vectors, up to (t−k+1)-vectors are used.
Therefore the exemplary successive beamforming method is performed on v1, its residual on the orthogonal space span {u1⊥} defined by v2n, and so on, instead of the orthogonal modes v1, v2, . . . . By thus applying successive beamforming to the residual vectors, the ratio of the projection of v1 in each successive space needs to be quantized for the reconstruction. For example, for k=2, this entails quantizing the value |v1*u1|/v2|. In some communication systems, feedback bits that are reserved for the feedback of the rate information for the rank-2 transmission strategy may be used to convey the quantization of this value.
Exemplary Codebook Representation
The exemplary precoder selection process described above relies on a set of vectors V1={vi1εCM}i=1N1,V2={vi2εCM-1}i=1N2, . . . ,VM-1={viM-1εC2}i=1NM-1, where CN denotes the N-dimensional complex space and a set of rotations defined by φ(v) for all vectors v in the codebook.
An exemplary representation of the codebook based on extending a result from the real vector space to the complex vector space will now be described. It is known that any M×M unitary matrix VεRM×RM (where R denotes the set of real numbers) can be written as:




  
    
      
        V
        =
        
          [
          
            
              v
              1
            
            ,
            
              
                HH
                ⁡
                
                  (
                  
                    
                      v
                      1
                    
                    -
                    
                      e
                      1
                      M
                    
                  
                  )
                
              
              ⁡
              
                [
                
                  
                    
                      0
                    
                  
                  
                    
                      
                        v
                        2
                      
                    
                  
                
                ]
              
            
            ,
            
              HH
              ⁢
              
                (
                
                  
                    v
                    1
                  
                  -
                  
                    e
                    1
                    M
                  
                
                )
              
              ⁢
              
                 
                
                  [
                  
                    
                      
                        0
                      
                    
                    
                      
                        
                          
                            HH
                            ⁡
                            
                              (
                              
                                
                                  v
                                  2
                                
                                -
                                
                                  e
                                  1
                                  
                                    M
                                    -
                                    1
                                  
                                
                              
                              )
                            
                          
                          ⁡
                          
                            [
                            
                              
                                
                                  0
                                
                              
                              
                                
                                  
                                    v
                                    3
                                  
                                
                              
                            
                            ]
                          
                        
                      
                    
                  
                  ]
                
                ]
              
            
            ,
          
        
      
    
    
      
        (
        16
        )
      
    
  




where va denotes the ath column of matrix V and vba denotes the bth element of the vector va and





  
    H
    ⁡
    
      (
      w
      )
    
  
  =
  
    I
    -
    
      2
      ⁢
      
        
          ww
          T
        
        
          
            
            w
            
          
          2
        
      
    
  




is the Householder transformation. This expansion, however, cannot be generally done for a matrix VεCM×CM, where C is the set of complex numbers.

Any Unitary matrix V can be written in the form of:




  
    
      
        V
        =
        
          [
          
            
              v
              1
            
            ,
            
              
                Φ
                ⁡
                
                  (
                  
                    v
                    1
                    1
                  
                  )
                
              
              ⁢
              
                
                  HH
                  ⁡
                  
                    (
                    
                      
                        
                          v
                          1
                        
                        
                          Φ
                          ⁡
                          
                            (
                            
                              v
                              1
                              1
                            
                            )
                          
                        
                      
                      -
                      
                        e
                        1
                        M
                      
                    
                    )
                  
                
                ⁡
                
                  [
                  
                    
                      
                        0
                      
                    
                    
                      
                        
                          v
                          2
                        
                      
                    
                  
                  ]
                
              
            
            ,
            
              
                Φ
                ⁡
                
                  (
                  
                    v
                    1
                    1
                  
                  )
                
              
              ⁢
              
                HH
                ⁡
                
                  (
                  
                    
                      v
                      1
                    
                    -
                    
                      e
                      1
                      M
                    
                  
                  )
                
              
              ⁢
              
                 
                
                  [
                  
                    
                      
                        0
                      
                    
                    
                      
                        
                          
                            Φ
                            ⁡
                            
                              (
                              
                                v
                                2
                                2
                              
                              )
                            
                          
                          ⁢
                          
                            
                              HH
                              ⁡
                              
                                (
                                
                                  
                                    v
                                    2
                                  
                                  -
                                  
                                    e
                                    1
                                    
                                      M
                                      -
                                      1
                                    
                                  
                                
                                )
                              
                            
                            ⁡
                            
                              [
                              
                                
                                  
                                    0
                                  
                                
                                
                                  
                                    
                                      v
                                      3
                                    
                                  
                                
                              
                              ]
                            
                          
                        
                      
                    
                  
                  ]
                
                ]
              
            
            ,
            ...
            ⁢
            
              
            
            ,
          
        
      
    
    
      
        (
        17
        )
      
    
  




where e1N=[1,0, . . . ,0]TεCN, Va denotes the ath column of matrix V, vba denotes the bth element of the vector va, and the function Φ(vba), called the phase function, is defined as





  
    Φ
    ⁡
    
      (
      
        v
        b
        a
      
      )
    
  
  =
  
    
      
        v
        b
        a
      
      
        
        
          v
          b
          a
        
        
      
    
    .
  




Based on the above expansion, the codebook for a MIMO system with M antennas is defined by sets of:

V1={vi1εCM}i=1N1,V2={vi2εCM-1}i=1N2, . . . ,VM-1={viM-1εC2}i=1NM-1,  (18)

where the first elements of all the vectors are real-valued. The set of phases Φ(vba) can be used in the design of the codebook based on the channel characteristics. The values of Φ(vba), however, do not directly affect the computation of the inner product in finding the precoding matrix index.

In an exemplary case, all phase functions are equal to one. In this case, the set of precoding matrices are formed using these vectors along with the unitary Householder matrices of the form,




  
    H
    ⁡
    
      (
      w
      )
    
  
  =
  
    I
    -
    
      2
      ⁢
      
        
          ww
          *
        
        
          
            
            w
            
          
          2
        
      
    
  




(which is completely determined by the vector w). Then, for instance, a rank-3 codeword can be constructed from three vectors vi1εV1, vj2εV2, vk3εV3 as.





  
    
      
        
          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
                                          
                                        
                                      
                                    
                                    ]
                                  
                                
                              
                            
                          
                          ]
                        
                      
                    
                    ]
                  
                  .
                
              
            
          
        
      
    
    
      
        (
        19
        )
      
    
  




An advantageous aspect of the exemplary scheme is that only the set of vectors V1, . . . , VM-1 along with some complex scalars are stored at the UE which results in a considerably lower memory requirement compared to unstructured matrix codebooks.
The matrix representation of the codebook can be stored at the base station, where memory requirements are not as stringent. For a given channel realization, the UE does not have to construct the precoding matrix to determine the optimal precoder index and the corresponding MMSE filter.
For example, if the base station has M=4 transmit antennas, for a codebook of size 16 (per-rank), the following vector codebooks can be constructed:

V1={vi1εC4}i=14,V2={vj2εC3}j=14,V3=[1,0]TεC2.  (20)

For convenience, the case of a 2-antenna UE is considered. The generalization to the 4-antenna case is straightforward. The codebook of rank-2 contains 16 precoding matrices 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
              
              ,
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




and the codebook of rank-1 also has 16 possibilities that are obtained as the second columns of all possible {A(vi1,vj2)}, respectively.

Rank Adaptation Scheme for MIMO Downlink
FIG. 2 is a block diagram of the downlink portion of an exemplary embodiment of a base station (BS) 200 of an orthogonal frequency-division multiplexing (OFDM) wireless MIMO communication system with feedback from the user equipment (UE). The base station 200 comprises a downlink scheduler 210, a multiplexer 220, multiple Adaptive Modulation and Coding scheme blocks (AMC) 230.1-230.k, and a beamforming block 250 driving multiple transmit antennas 260.1-260.t. The beamforming block 250 comprises power controllers 255.1-255.k, which scale the power of the signals for each stream to be transmitted along k different eigenvectors 265.1-265.k which are then combined in 270 and transmitted by the transmit antennas 260.1-260.t. 
The various blocks of the base station 200 operate in accordance with information fed-back from UE (not shown), including, for example, rank, beamforming matrix index, quantization power control, and Signal to Interference and Noise Ratio (SINR). The SINR information fed-back from the UEs is used by the downlink scheduler 210 to select a user stream from a plurality of user streams for transmission over the downlink to the intended UE. Based on the rank feedback, the multiplexer block 220 generates the appropriate number of signal streams and the AMC blocks 230 choose the corresponding modulation and coding for each stream.
In an exemplary embodiment of the present invention, in order to achieve the best performance over an OFDM-based downlink with reasonable feedback, the available sub-carriers are divided into chunks of adjacent tones and provide a feedback signal including the rank information, the beamforming matrix index, and channel quality indices (CQIs) on a per-chunk basis. The CQIs can be the SINR for each stream. A chunk size of one is throughput optimal. Simulation results show, however, that a larger chunk size (if chosen properly) can significantly reduce the feedback overhead with almost negligible loss in throughput. This fact follows the property that the precoder, i.e., beamforming matrix, chosen for a tone usually is also the best precoder for the adjacent tones (up to a certain neighborhood size) out of the available quantized precoders in the codebook. It is possible to optimally design and also select wideband precoders for the set of parallel channels, i.e., all tones in the chunk. An exemplary strategy of selecting the optimal precoder for the center tone in each chunk and then using it for the entire chunk is described below. Moreover, to further reduce the feedback from the UEs, each UE can choose to send information about only the first few of its “best” chunks rather than all of them.
FIG. 3 is a flowchart which generally illustrates the operation of a base station (BS) in accordance with an exemplary embodiment of the present invention. FIG. 4 is a flowchart illustrating the operation of a UE in accordance with the exemplary embodiment. A high-level description of FIGS. 3 and 4 is provided and details such as particular chunk-size used, OFDM implementation, etc. have been omitted for convenience.
As shown in FIG. 3, at step 310, the base station obtains the various items of feedback information from each UE, including the rank information (k), the beamforming matrix index (i), and CQI(s). At 320, the base station selects the UE with the highest supportable rate and at 330, generates signal streams for the selected UE according to its rank and CQI(s). The signal of each stream is scaled at 340 in accordance with a power allocation ratio and at 350, each stream is multiplied by the corresponding column of the precoding matrix U and transmitted via the multiple transmit antennas to the receiving UE.
At the UE, as shown in FIG. 4, the channel matrix H, the transmit power, and noise variance are estimated at 410. The ratio of transmit power to noise variance defines the transmit SNR used in the selection of the rank and the beamforming matrix. At step 420, the UE determines the rank k and power allocation Pi using a modified capacity measure. In an alternative embodiment described below, these parameters are determined by the base station. An algorithm for carrying out step 420 is described below in greater detail with reference to FIG. 5.
At 430, the UE determines the precoding matrix Ui using successive beamforming. An exemplary successive beamforming algorithm which allows for a considerable reduction in computational complexity as well as the memory requirement of the UE without sacrificing much throughput performance is described below with reference to FIG. 6.
At 440, the UE finds the index of the augmented precoding matrix as determined by the precoding matrix Ui and the power allocation Pi.
At 450, the one or more CQIs are then calculated for the corresponding receiver (e.g., LMMSE or MMSE-SIC) using multiple or single codeword transmission. A CQI calculation algorithm is described below with reference to FIG. 7.
FIG. 5 is a flowchart of an algorithm for determining the rank k and power allocations Pi using a modified capacity measure f(H), defined below. At 510, the estimated channel matrix H, transmit power P, and noise variance are provided as inputs. At 520, the singular value decomposition is performed, as described above. At 530 and 540, a processing loop is initiated starting with the highest possible rank. At 550-570, for all quantized power vectors in the codebook of a given rank, the modified capacity measure Fi is calculated in accordance with the following expression:

f(H)=f(UDV*)=Fi=log det(I+PD2diag(Pi)).  (22)

where H is the estimated channel matrix and H=UDV* is the singular value decomposition of H.

At 580, the maximum value of the modified capacity measure Fi for the given rank is selected and designated F(k), referred to as the sum rate. At 590, a determination is made as whether the highest rank has been processed or whether F(k) is increasing. If either condition is true, operation branches to 591, in which the rank is decremented and the loop starting at 540 is repeated. If not, operation proceeds to 592 in which the rank and power allocation that maximize the sum rate F(k) are provided as outputs.
In an alternative embodiment, successive beamforming can be performed for each rank separately, the CQI information can be calculated, and then a decision made as to which rank is optimal. Instead of trying out all of the possible ranks, the exemplary algorithm of FIG. 5, however, starts off with the maximum rank and decreases the rank until the point when the rate supported by the channel does not increase.
FIG. 6 is a flowchart of an exemplary successive beamforming algorithm. At 610, the rank k is provided as an input and at 620, the singular value decomposition is performed, as described above. At 630-680, an inner product calculation between the eigenvectors of the channel the corresponding vectors from the codebook is performed within nested loops. At 690, the index of the precoding matrix uniquely determined by the set of quantized vectors is found and is output at 695.
FIG. 7 is a flowchart of an exemplary CQI calculation algorithm for MCW transmission for reception by an LMMSE decoder. After inputting the precoding matrix and power allocation vector at 710, an intermediate variable Z is calculated at 720. A processing loop is then commenced at 730 in which a further intermediate variable S is calculated at 740. A CQI for each of the k streams of rank k is then calculated at 750 based on the intermediate variables S and Z. Operation loops back at 760 until the CQIs for all streams have been determined. The CQIs are then output at 770.
As an alternative to determining a CQI for each stream, the CQIs of all streams of a rank can be combined, so as to output only one CQI value.
Simulation Results
An exemplary embodiment of the present invention has been simulated with the parameters indicated in FIG. 8A. A modulation and coding scheme (MCS) table with 32 entries was chosen and was used for CQI quantization for all the simulated schemes. Since only two antennas are assumed at the UE, the transmission rank is at most two. As shown in FIG. 8B, eight bits are used for two-rank precoding feedback. The first bit indicates the beamforming rank followed by 7 bits that represents the index of a precoder for the given rank. For both rank 1 and rank 2 beamforming, the “xxxx” bits represent the feedback bits for the first vector and the “yyy” bits represent the feedback bits for the second vector.
For rank 2, there would be a total of 27 precoding (or beamforming) matrices, comprising the Cartesian product of 24 vectors in C4 space and 23 vectors in C3 space. Therefore, the total memory required to store the codebook would be 16*4+8*3=88 complex numbers. For rank 1, successive beamforming is applied in order to reduce the memory requirement from 27*4=512 complex numbers to only 24 complex numbers.
In accordance with the Spatial Channel Model (SCM) defined in 3GPP, a UE will be dropped with a given distribution when it is between 45 and 500 meters from the BS. As such, the initial pathloss and shadowing values affect the entire simulation results per run. In order to average out the effect of these parameters, the average performance of each scheme over multiple drops was simulated.
As mentioned, the feedback signals are sent per chunk in order to reduce the feedback requirement. For the given simulation setup of FIG. 8A, using 21 adjacent tones was determined to be the best chunk size. FIG. 9 illustrates the effect of chunk size on the throughput of the exemplary scheme at P/N0=20 dB when the chunk size varies from 1 to 51. P/N0 is the ratio of the transmit power to the noise variance. It is observed that the throughput increases almost linearly at the beginning, with a relatively steep slope and then flattens out with a shallower slope at larger chunk sizes. In order to reduce the feedback requirement, it is desirable to increase the chunk size as much as possible, while the throughput will be adversely affected with larger chunk sizes. FIG. 9 shows that choosing approximately 21 tones per chunk provides the highest ratio of relative throughput per chunk size for the simulated exemplary embodiment.
FIG. 10 illustrates the relative performance of the simulated exemplary scheme against fundamental limits using a finite set of rates (only 5 CQI bits). FIG. 10 shows that the relative gain due to the addition of channel state information at the transmitter (i.e., CSIRT versus CSIR) for the simulated scenario (4 transmit and 2 receive antennas) is considerable. Therefore, the importance of an effective feedback strategy becomes more dominant. FIG. 10 also shows that the simulated exemplary feedback strategy (in a typical scenario) is capable of bridging almost 80% of the gap between the performances of a system with CSIRT versus CSIR only.
FIG. 11 provides a cross comparison of an exemplary scheme in accordance with the present invention against selected other schemes including: (i) PU2RC by Samsung with 8-bit feedback, (ii) antenna selection with 3-bits feedback, (iii) rank adaptation and cycling by Qualcomm, with SCW and 1-bit feedback, and (iv) a 2-streams antenna cycling scheme with no feedback. It should be noted that a thorough comparison between different schemes can be performed with system level simulation, whereas FIG. 11 provides a link level comparison.
FIG. 12 shows the effect of a typical feedback error on the performance of the exemplary scheme. It seems that the effect of feedback error on the rank information bit is more destructive than its effect on the other feedback bits. Therefore, more protection for this bit is indicated.
UE Operation for Alternative Embodiment
FIGS. 13A and 13B show a flowchart which illustrates the UE operation for an alternative exemplary embodiment of a rank adaptation scheme for a MIMO downlink in which the beamforming rank may be provided by the base station (BS) and which can accommodate various receivers, including LMMSE, MMSE-SIC, and ML receivers.
As shown in FIG. 13A, the UE estimates the channel matrix H, the transmit power, and noise variance at 1310. At 1315, a determination is made as to whether or not the rank is provided by the BS. If not, operation proceeds to step 1320, in which the UE determines the rank k and power allocation Pi using a modified capacity measure f(H). An algorithm for carrying out step 1320 is described above in greater detail with reference to FIG. 5.
Operation proceeds to step 1322 in which the UE determines the precoding matrix Ui using successive beamforming. A successive beamforming algorithm is described above with reference to FIG. 6.
At 1330, the UE picks the index of the augmented precoding matrix, the augmented precoding matrix comprising by the precoding matrix Ui and the power allocation Pi.
If it was determined at 1315 that the rank is provided by the BS, operation proceeds to step 1324 in which the UE determines the precoding matrix Ui using successive beamforming. The successive beamforming algorithm described above with reference to FIG. 6 can be used for this purpose. Operation then proceeds to step 1326 in which the quantized power allocation that maximizes the following expression is determined:

log det [I+PHUdiag(Pi)UHHH]  (23)

This expression defines the achievable rate of a precoded MIMO system with precoding matrix U and power allocation given by diag(Pi), assuming a Gaussian codebook.

The indexing is done by scanning row-by-row or column-by-column the black-and-white image representing UV spots and assigning a number to each spot in order.
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.

## Claims

1. A base station used in a wireless communications system with multiple transmission ranks, the base station comprising:
a memory to store a codebook for a transmission rank;
a beamforming controller to precode data with a precoding matrix selected from the codebook, wherein the selection of the precoding matrix is based on a first description and a second description, the first description and the second description being unique to the precoding matrix; and
a transmitter to transmit the precoded data to a user equipment,
wherein the second description provides a finer description of the code book than the first description.

2. The base station as in claim 1, wherein the code book comprises a vector code book.

3. The base station as in claim 1, wherein the selection of the precodinq matrix comprises calculation.

4. A user equipment used in a wireless communications system with multiple transmission ranks, the user equipment comprising:
a memory to store a codebook for a transmission rank; and
a receiver to receive, from a base station, data precoded with a precoding matrix,
wherein the precoding matrix is selected from a codebook for a transmission rank, wherein the selection of the precoding matrix is based on a first description and a second description, the first description and the second description being unique to the precoding matrix, and
wherein the second description provides a finer description of the code book than the first description.

5. The user equipment as in claim 4, wherein the codebook comprises a vector codebook.

6. The user equipment as in claim 4, wherein the selection of the precoding matrix comprises calculation.

7. A user equipment used in a wireless communications system with multiple transmission ranks, the user equipment comprising:
a memory to store a codebook for a transmission rank; and
a transmitter to transmit to a base station an indication for a precoding matrix in order for the base station to precode data,
wherein the precoding matrix is selected from a codebook for a transmission rank, wherein the selection of the precoding matrix is based on a first description and a second description, the first description and the second description being unique to the precoding matrix, and
wherein the second description provides a finer description of the code book than the first description.

8. The user equipment as in claim 7, wherein the codebook comprises a vector codebook.

9. The user equipment as in claim 7, wherein the selection of the precoding matrix comprises calculation.