Abstract:
A recursive method of calculating an inverse impairments matrix is used to generate an SINR estimate, which in turn is used to generate a CQI estimate. The recursive inverse impairments matrix calculation avoids the need to perform a computationally intensive matrix inversion, allowing for faster CQI estimate generation and consuming less power.

Description:
[0001]    This application claims priority to U.S. Provisional Patent Application Ser. No. 61/037,918, filed Mar. 19, 2008, and incorporated herein by reference in its entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to wireless communication networks, and in particular to a reduced complexity method of calculating a signal to interference and noise ratio (SINR) that avoids matrix inversion calculations. 
       BACKGROUND 
       [0003]    Wireless communication systems are required to transmit ever-increasing amounts of data, in support of expanded subscriber services, such as messaging, e-mail, music and video streaming, and the like. Transmitting a higher volume of data over a given channel requires transmission at a higher data rate. 
         [0004]    One known technique to improve data transmission rates in wireless communications is the use of multiple input, multiple output (MIMO) technology, wherein signals are transmitted from multiple transmit antennas and may be received by multiple receiver antennas. Using advanced coding and modulation schemes, two or more streams of data may be transmitted simultaneously to a receiver, increasing the data rate. 
         [0005]    Maintaining high data rates in MIMO systems requires fast link adaptation. That is, the transmitter must constantly alter its selection of transmission parameters, such as the modulation and coding scheme selected, or antenna configuration, based on the current characteristics of the channel, which can change rapidly. In a Frequency Division Duplex (FDD) system, the instantaneous downlink channel conditions are not available at the base station, and must be determined by a receiver and communicated to the base station. In Wideband CDMA (WCDMA) and Long Term Extension (LTE), the instantaneous downlink channel conditions are communicated to the base station through a Channel Quality Indicator (CQI). 
         [0006]    Estimating the CQI is a delicate task, which involves a calculation of a signal to interference and noise ratio (SINR). For a multi-stream transmission, estimating the SINR is a more complex task than estimating the SINR for a single-stream transmission, due to the inter-stream interference. Traditional SINR estimation techniques involve summing the noise and respective inter-stream interferences (a matrix quantity) to obtain an impairments matrix, and then inverting the matrix to calculate an inverse impairments matrix. The impairments matrix is of size n rx ×n rx , where n rx  is the number of receive antennas. Matrix inversion is a computationally intensive mathematical operation. The limited computing resources (and power budget) of a mobile receiver restrict the frequency with which the CQI can be calculated and communicated to a base station, thus reducing the link adaptation rate, which places an upper bound on the available data rate. 
       SUMMARY 
       [0007]    According to one or more embodiments disclosed herein, a recursive method of calculating an inverse impairments matrix is used to generate an SINR estimate, which in turn is used to generate a CQI estimate. The recursive inverse impairments matrix calculation avoids the need to perform a matrix inversion, allowing for faster CQI estimate generation and consuming less power. 
         [0008]    One embodiment relates to a method of estimating a SINR in a wireless communication network transmitting data in a plurality of streams from one or more transmit antennas to one or more receive antennas, without performing a matrix inversion calculation in a receiver to obtain an inverse impairment matrix. Channel conditions from each transmit antenna to each receive antenna are estimated and a matrix of estimated channel noise covariance is generated. An initial inverse impairment matrix for a given pilot position is calculated based on the channel conditions and the channel noise covariance. An inverse impairment matrix is recursively calculating for the pilot position by recursively summing the noise and inter-stream interference, beginning with the initial inverse impairment matrix. An SINR is then calculated based on the recursively calculated inverse impairment matrix. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a diagram of downlink channels in a MIMO wireless communications network. 
           [0010]      FIG. 2  is a functional block diagram of relevant portions of a wireless communication User Equipment (UE). 
           [0011]      FIG. 3  is a flow diagram of a first method of estimating SINR in a MIMO wireless communication network. 
           [0012]      FIG. 4  is a flow diagram of a second method of estimating SINR in a MIMO wireless communication network. 
       
    
    
     DETAILED DESCRIPTION 
       [0013]      FIG. 1  depicts the downlink signal paths in a MIMO wireless communication network  10 . A User Equipment (UE)  12 , such as a mobile transceiver, receives signals on one or more receive antennas  14 ,  16 . The signals are transmitted from one or more transmit antennas  18 ,  20 . Each signal path experiences different channel conditions, which include impairment effects such as fading, interference, noise, and the like. In general, each channel is unique, as indicated. As known in the art, the transmitters  18 ,  20  transmit known reference symbols, also referred to as pilot symbols, at known positions within a data frame, to facilitate measurement of the channel conditions by the UE  12 . Channel and noise estimates are thus available at the pilot positions. 
         [0014]      FIG. 2  depicts the CQI estimation and feedback path in the UE  12 . Downlink signals are received at one or more receive antennas  14 ,  16 , and are processed by receiver front-end circuits  22 . Data symbols are demodulated and decoded at block  23 , and are further processed, such as rendered into speech or audio, displayed as text or video, processed as commands, or the like, in various circuits in the UE  12 , represented collectively by block  24 . Pilot signals are provided by the receiver front-end circuits  22  to a channel estimation function  25 . The channel estimator  25  generates channel noise and interference estimates, and provides these to the demodulator and decoder function  23 , so that it can detect the received data symbols. The channel estimator  25  additionally provides a SINR to the CQI estimator function  26 , which estimates a CQI for transmission to the base station for link adaptation. The CQI is provided to an encoder and modulator function  27 , which also receives upstream data from various circuits in the UE  12 , represented collectively by block  29 . Encoded and modulated data are processed by a transmitter front-end  28  and other circuits, and modulated signals are transmitted to the base station on one or more antennas  14 ,  16 . 
         [0015]      FIG. 3  depicts a method  30  of generating a SINR in the channel estimator  25 . In the text below, a 4×4 MIMO system is assumed, but the method is easily generalized to a MIMO system of any dimension, as is understood by a person skilled in the art. Pilot symbols are received from the receiver front-in circuits  22  (block  32 ). Channel conditions from each transmit antenna  18 ,  20  to each receive antenna  14 ,  16  are estimated for each pilot p. In particular, corresponding to a pilot p, estimates of channel vectors h(0)(p), . . . , h(3)(p) are generated, each of dimension 4×1. The jth element of h(i)(p) is the complex channel response from the ith transmit antenna  18 ,  20  to the jth receive antenna  14 ,  16  for pilot p. 
         [0016]    A noise covariance matrix R, of dimension 4×4, is also generated (block  36 ). R is generally diagonal with entries σ 2  (j), j=0, . . . , 3. The entries σ 2  (j), j=0, . . . , 3 may for example represent, but are not limited to, thermal noise, other system interference, inter-cell interference and intra-cell interference resulting from transmission to other users. 
         [0017]    Note that R is not necessarily diagonal. In the case that R is not diagonal, several options exist that still reduce the computational complexity of calculating an inverse impairments matrix. First, a matrix inversion of R may be performed, using the structure of R and some applicable matrix algebra, resulting in a computationally simpler matrix inversion method than the general case, and building the remaining of the inverse impairments matrix without matrix inversions. As another option, R may be rounded to a diagonal matrix, since in most practical cases, it will be almost diagonal. Still another option is to let σ 2  in R be an arbitrary low number, implicitly assuming that the inter-stream interference is dominating other interference. 
         [0018]    VAC(k) is a vector containing the Virtual Antenna Combination of antennas used for transmission using Virtual Antenna Identifier VAI=k. In the case of four transmit antennas, VAC is a subset of the integers {0, 1, 2, 3}. The complete sets of combinations are listed in Table 1 below. Fifteen different sets exist, hence VAI=0, . . . , 14. 
         [0000]    
       
         
               
             
               
               
             
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Virtual Antenna Combinations for CQI Reporting 
               
             
          
           
               
                 Virtual Antenna Identifier 
                 Virtual Antenna 
               
               
                 Value (VAI) 
                 Combinations (VAC) 
               
               
                   
               
             
          
           
               
                 0 
                 {0} 
               
               
                 1 
                 {1} 
               
               
                 2 
                 {2} 
               
               
                 3 
                 {3} 
               
               
                 4 
                 {0, 1} 
               
               
                 5 
                 {0, 2} 
               
               
                 6 
                 {0, 3} 
               
               
                 7 
                 {1, 2} 
               
               
                 8 
                 {1, 3} 
               
               
                 9 
                 {2, 3} 
               
               
                 10 
                 {0, 1, 2} 
               
               
                 11 
                 {0, 1, 3} 
               
               
                 12 
                 {0, 2, 3} 
               
               
                 13 
                 {1, 2, 3} 
               
               
                 14 
                 {0, 1, 2, 3} 
               
               
                   
               
             
          
         
       
     
         [0019]    As an example, h(VAC(9)(2))(p) is the vector channel (i.e., the channel response at all RX antennas) at pilot position p from transmit antenna VAC(9)(2)={2,3}(2)=3, i.e., the second element of the VAC corresponding to VAI=9. 
         [0020]    n s (k) is the number of streams used for VAI=k, as shown in Table 2 below. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                 Number of Streams for Different VAIs 
               
             
          
           
               
                   
                 Variable name 
                 Value 
               
               
                   
                   
               
               
                   
                 n s (0), . . . , n s (3) 
                 1 
               
               
                   
                 n s (4), . . . , n s (9) 
                 2 
               
               
                   
                 n s (10), . . . , n s (13) 
                 3 
               
               
                   
                 n s (14) 
                 4 
               
               
                   
                   
               
             
          
         
       
     
         [0021]    P D/P (k) denotes the offset between data and pilot power for VAI=k, such that P data =P D/P (k)P pilot    
         [0022]    SINR for stream s for VAI=k, pilot p, can be written as 
         [0000]        SINR ( k )( s )( p )= P   D/P ( k ) h *( VAC ( k )( s ))( p ) Q ( k )( s )( p ) h ( VAC ( k )( s ))( p ) 
         [0000]    with the inverse impairments matrix 
         [0000]        Q ( k )( s )( p )=(Σ j≠s   P   D/P ( k ) h ( VAC ( k )( j )( p ) h *( VAC ( k )( j ))( p )+ R ) -1    
         [0000]    where the operator x* denotes the complex conjugate transpose of x. The matrix inversion operation is computationally complex. 
         [0023]    According to one or more embodiments of the present invention, the impairments matrix may be written recursively as 
         [0000]      ( Q ( k )( s )( p ) (i) ) −1 =( Q ( k )( s )( p ) (i-1) ) -1   +P   D/P ( k ) h   i   h   i   *,i= 0, . . . ,  n   s ( k )−1 
         [0000]    using the simplified notation 
         [0000]        h   i   =h ( VAC ( k )(( s+i )mod  n   s ( k )))( p ) 
         [0000]    where mod is the modulo operator. 
         [0024]    An initial inverse impairment matrix for a given pilot position is calculated (block  38 ) as 
         [0000]    Q(k)(s)(p) (0) =R −1 . Since R is diagonal, it is easily inverted using only scalar inversions. 
         [0025]    Using the matrix inversion lemma, one can write: 
         [0000]    
       
         
           
             
               
                 Q 
                  
                 
                   ( 
                   k 
                   ) 
                 
               
                
               
                 ( 
                 s 
                 ) 
               
                
               
                 
                   ( 
                   p 
                   ) 
                 
                 
                   ( 
                   i 
                   ) 
                 
               
             
             = 
             
               
                 
                   Q 
                    
                   
                     ( 
                     k 
                     ) 
                   
                 
                  
                 
                   ( 
                   s 
                   ) 
                 
                  
                 
                   
                     ( 
                     p 
                     ) 
                   
                   
                     ( 
                     
                       i 
                       - 
                       1 
                     
                     ) 
                   
                 
               
               - 
               
                 
                   
                     Q 
                      
                     
                       ( 
                       k 
                       ) 
                     
                   
                    
                   
                     ( 
                     s 
                     ) 
                   
                    
                   
                     
                       ( 
                       p 
                       ) 
                     
                     
                       ( 
                       
                         i 
                         - 
                         1 
                       
                       ) 
                     
                   
                    
                   
                     h 
                     i 
                   
                    
                   
                     h 
                     i 
                     * 
                   
                    
                   
                     Q 
                      
                     
                       ( 
                       k 
                       ) 
                     
                   
                    
                   
                     ( 
                     s 
                     ) 
                   
                    
                   
                     
                       ( 
                       p 
                       ) 
                     
                     
                       ( 
                       
                         i 
                         - 
                         1 
                       
                       ) 
                     
                   
                 
                 
                   
                     1 
                     
                       
                         P 
                         
                           D 
                           / 
                           P 
                         
                       
                        
                       
                         ( 
                         k 
                         ) 
                       
                     
                   
                   + 
                   
                     
                       h 
                       i 
                       * 
                     
                      
                     
                       Q 
                        
                       
                         ( 
                         k 
                         ) 
                       
                     
                      
                     
                       ( 
                       s 
                       ) 
                     
                      
                     
                       
                         ( 
                         p 
                         ) 
                       
                       
                         ( 
                         
                           i 
                           - 
                           1 
                         
                         ) 
                       
                     
                      
                     
                       h 
                       i 
                     
                   
                 
               
             
           
         
       
     
         [0000]    for i=0, . . . , n s (k)−1, with Q(k)(s)(p) (0)  being a diagonal matrix with entries 1/σ 2 (j), j=0, . . . , 3. 
         [0026]    This inverse impairments matrix is recursively calculated (block  40 ), over all streams (block  42 ). The SINR(k)(s)(p) is then determined (block  44 ) as 
         [0000]        SINR ( k )( s )( p )= P   D/P ( k ) h   0   *Q ( k )( s )( p ) (n     s     (k)-1 ) h   0 . 
         [0027]    The method is then repeated for the next pilot position (block  46 ). Alternatively, as depicted in  FIG. 4 , in an alternative method  50 , all desired pilot positions may be considered (block  46 ) and the inverse impairment matrix recursively calculated (blocks  38 - 42 ), prior to calculating the SINR. 
         [0028]    The entire method  30  or  50  can be performed using only matrix times vector multiplications and inner/outer vector products. No matrix inversion calculation is required. Accordingly, the method may be utilized by UE  12  to calculate SINR estimates more rapidly, with fewer computational resources, and consuming less power, then by known techniques (i.e., those involving matrix inversions). As a result, CQI estimates may be generated more rapidly, allowing faster link adaptation and higher data rates. 
         [0029]    Although the inventive processing has been disclosed herein in the context of downlink channel estimation by a UE, those of skill in the art will readily recognize that the same processing may be employed by a receiver in a base station, to perform uplink channel estimation. 
         [0030]    The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.