# Patent

## Title
Estimating the ratio of traffic channel power to pilot power in a MIMO wireless communication system

## Abstract

Methods and apparatus for processing a received multi-stream (MIMO) signal, and in particular for estimating a per-code traffic-channel-to-pilot power ratio for the MIMO signal are disclosed. An exemplary method includes the calculation of an average symbol amplitude or average symbol power level from a plurality of de-spread traffic channel symbols received in a first transmission slot and the estimation of a corresponding pilot symbol amplitude or pilot symbol power level, based on an estimated propagation channel response and at least one of a plurality of precoding vectors used to generate the MIMO signal. A per-code traffic-channel-to-pilot power ratio for the first transmission slot is computed by dividing the average symbol amplitude or average symbol power level by the corresponding pilot symbol amplitude or pilot symbol power level.

## Background
TECHNICAL FIELD
The present invention relates generally to wireless telecommunication systems, and relates in particular to methods and apparatus for processing multi-stream multiple-input multiple-output signals in such systems.
BACKGROUND
The 3rd-generation (3G) Wideband Code-Division Multiple Access (W-CDMA) wireless network specified by the 3rd-Generation Partnership Project (3GPP) includes support for multiple-input multiple-output (MIMO) transmission techniques. (For details, see “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Physical layer procedures (FDD) (Release 8),” 3GPP TS 25.214, available at http://www.3gpp.org/ftp/Specs/html-info/25214.htm.) In systems built according to these standards, a 2×2 MIMO scheme may be used to transmit the High-Speed Downlink Shared Channel (HS-DSCH) over two transmit antennas via two distinct spatially multiplexed data streams. The two streams use the same channelization codes, but are separated from each other by orthogonal preceding weights.
Because of imperfections in the radio propagation channel between the transmitting base station and a mobile terminal, the two streams will interfere with each other. This interference is referred to as code reuse interference. For optimal performance, a MIMO receiver needs to suppress or cancel this interference. In addition to suppressing code reuse interference, a MIMO receiver also needs an estimate of the code reuse interference power to compute accurate channel quality reports for feeding back to the base station. If the receiver computes channel estimates based on pilot channel symbols (e.g., the W-CDMA Common Pilot Channel, or CPICH), the ratio of the traffic channel power (e.g., the W-CDMA High-Speed Physical Downlink Shared Channel, or HS-PDSCH) to the pilot channel power, per channelization code must be known or estimated. This per-code traffic-channel-to-pilot power ratio αPC is used when suppressing or cancelling the code reuse term and may also be used to calculate an estimate of the received signal-to-interference-plus-noise ratio (SINR) for channel quality reporting.
One approach to suppressing code reuse interference in a Generalized Rake (G-Rake) receiver is described in U.S. Patent Application Publication No. 2008/0152053, titled “Method and Apparatus for Determining Combining Weights for MIMO Receivers” and published 26 Jun. 2008, the entire contents of which are incorporated by reference herein. With this approach, a receiver uses scaling parameters representing the normalized per-code energy allocated to each transmitted stream to calculate combining weights that suppress the cross-stream interference. These same scaling parameters may also be used to calculate the estimated code reuse interference power for the purposes of preparing channel quality reports.
Techniques for estimating the per-code traffic-channel-to-pilot power ratio αPC in a MIMO system are disclosed in U.S. patent application Ser. Nos. 12/036,425 and 12/036,368, both of which were filed Feb. 25, 2008 and both of which are titled “Code Power Estimation for MIMO Signals.” The entire contents of both of these applications are incorporated by reference herein. However, these or other previously known techniques may be unnecessarily complex, in some situations, or may overestimate αPC, or may yield excessively noisy estimates for αPC.
SUMMARY
Various embodiments of the present invention estimate a per-code traffic-channel-to-pilot power ratio for a received multi-stream MIMO signal by dividing an average traffic channel symbol amplitude or power level, obtained from a plurality of de-spread traffic channel symbols, by a corresponding pilot symbol amplitude or power level obtained from an estimated propagation channel response and one or more of the precoding vectors used to generate the MIMO signal.
An exemplary method for implementing in a wireless receiver configured to process a received multi-stream MIMO signal thus includes the calculation of an average symbol amplitude or average symbol power level from a plurality of de-spread traffic channel symbols received in a first transmission slot and the estimation of a corresponding pilot symbol amplitude or pilot symbol power level, based on an estimated propagation channel response and at least one of a plurality of preceding vectors used to generate the MIMO signal. A per-code traffic-channel-to-pilot power ratio for the first transmission slot is computed by dividing the average symbol amplitude or average symbol power level by the corresponding pilot symbol amplitude or pilot symbol power level.
In some embodiments, the average symbol amplitude or average symbol power level is calculated by de-spreading samples of the received signal at each of multiple time delays and combining the de-spread samples using stream-specific combining weights corresponding to a first stream of the MIMO signal, to obtain each of a plurality of combined traffic channel symbols, and calculating the average symbol amplitude or average symbol power level from the plurality of combined traffic channel symbols. In some of these embodiments, the stream-specific combining weights are first calculated using the estimated propagation channel response, the precoding vectors used to generate the MIMO signal, and a previously calculated per-code power ratio computed for a prior transmission slot. In some of these latter embodiments, the previously calculated per-code ratio is computed as a weighted average of per-code power ratios computed for two or more prior transmission slots. In other embodiments, the stream-specific combining weights are instead computed from the estimated propagation channel response, the precoding vectors used to generate the MIMO signal, and a previously calculated per-code power ratio estimated from a power ratio parameter signaled to the wireless receiver by a base station.
In several embodiments of the invention, the corresponding pilot symbol amplitude or pilot symbol power level is estimated as a function of the estimated propagation channel response, the precoding vector for a first stream of the MIMO signal, and stream-specific combining weights corresponding to the first stream of the MIMO signal.
In some embodiments, rather than using symbol values obtained by combining de-spread values with stream-specific combining weights, an average symbol amplitude or average symbol power level is calculated from a plurality of de-spread traffic channel symbols received in a first transmission slot by selecting a signal processing delay corresponding to a strongest signal propagation path from a plurality of signal processing delays, de-spreading samples of the received signal at the selected signal processing delay to obtain each of a plurality of single-delay de-spread values, and calculating the average symbol amplitude or average symbol power level for a first stream of the MIMO signal from the single-delay de-spread values, an estimated multi-antenna channel propagation response corresponding to the selected signal processing delay, and the preceding vector for the first stream of the MIMO signal. In some of these embodiments, the corresponding pilot symbol amplitude or pilot symbol power level is estimated by calculating the estimated pilot symbol amplitude or pilot symbol power level as a function of the precoding vector for the first stream of the MIMO signal and the estimated multi-antenna channel propagation response corresponding to the selected signal processing delay.
In other embodiments, an average symbol amplitude or average symbol power level may be estimated from a plurality of single-finger de-spread traffic channel symbols received in a first transmission slot by selecting a signal processing delay corresponding to a strongest signal propagation path from a plurality of signal processing delays, de-spreading samples of the received signal at the selected signal processing delay to obtain each of a plurality of single-delay de-spread values, and calculating the mean power of the plurality of single-delay de-spread values to obtain the average symbol power level.
Any of the above described methods may further include the calculation of a filtered power ratio for the first transmission slot by computing a weighted average of the per-code traffic-channel-to-pilot power ratio for the first transmission slot and one or more per-code power ratios computed for prior transmission slots. Any of the above described methods may also include the computation of stream-specific combining weights for a first stream of the MIMO signal as a function of the per-code traffic-channel-to-pilot power ratio for the first transmission slot, the estimated propagation channel response, and the preceding vectors used to generate the MIMO signal, and/or the computation of a stream-specific signal quality metric for the first stream of the MIMO signal as a function of the per-code traffic-channel-to-pilot power ratio for the first transmission slot, the estimated propagation channel response, and the preceding vector for the first stream of the MIMO signal.
Further embodiments of the present invention include a wireless receiver apparatus (which may be embodied in a wireless transceiver configured for operation with one or more wireless standards) that includes one or more processing circuits configured to carry out one or more of the MIMO signal processing techniques described herein. Of course, those skilled in the art will appreciate that the present invention is not limited to the above features, advantages, contexts or examples, and will recognize additional features and advantages upon reading the following detailed description and upon viewing the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram of a wireless communication system.
FIG. 2 is a functional block diagram of an exemplary wireless receiver configured to process received MIMO signals.
FIG. 3 illustrates exemplary baseband processing circuits for a wireless receiver.
FIG. 4 is a process flow diagram illustrating an exemplary method of processing a received MIMO signal.
FIG. 5 is a process flow diagram illustrating an exemplary method of estimating stream-specific traffic-to-pilot power ratios, according to some embodiments of the invention.
FIG. 6 is a process flow diagram illustrating another exemplary method of estimating stream-specific traffic-to-pilot power ratios, according to some embodiments of the invention.
FIG. 7 is another process flow diagram illustrating an exemplary method of estimating traffic-to-pilot power ratio for a MIMO signal.



DETAILED DESCRIPTION
Embodiments of the present invention are described herein with respect to specifications for MIMO operation in W-CDMA standards, which operation is more fully described below. However, the invention is not so limited, and the inventive concepts disclosed and claimed herein may be advantageously applied to a wide array of transmit diversity systems. Furthermore, the use of the term “exemplary” is used herein to mean “illustrative,” or “serving as an example,” and is not intended to imply that a particular embodiment is preferred over another or that a particular feature is essential to the present invention. Likewise, the terms “first” and “second,” and similar terms, are used simply to distinguish one particular instance of an item or feature from another, and do not indicate a particular order or arrangement, unless the context clearly indicates otherwise.
FIG. 1 depicts an exemplary wireless communication system 100 employing multiple-input multiple-output (MIMO) transmissions, such as according to the 3GPP W-CDMA specifications. Within a Radio Access Network (RAN) 102, a Radio Network Controller (RNC) 104 controls a plurality of base transceiver stations (BTS) 106, also known in the art as Node B's. Each Node B 106 provides radio communication services with subscriber mobile terminals 112 within a geographic area called a cell, which may be divided into sectors, as depicted in FIG. 1. The RNC 104 communicates with a Core Network (CN) 114, which in turn is connected to one or more external networks 116, such as the Public Switched Telephone Network (PSTN), the Internet, or the like.
Each base station 106 includes at least a primary transmit antenna 108 and a secondary transmit antenna 110 (either per-cell or per-sector, depending on the network 100 configuration), as shown in FIG. 2. The base station 106 may transmit an information signal, such as a precoded voice signal or a precoded High-Speed Downlink Packet Access (HSDPA) data signal, using both antennas 108 and 110. The signal transmitted on the secondary antenna 110 is weighted relative to the signal transmitted on the primary antenna 108, wherein the transmit weights may comprise phase offset only, or may more generally comprise a complex quantity having both phase and amplitude. The phase shift employed may be determined by feedback from the mobile terminal 112, thus forming a closed-loop transmit diversity system.
In a co-pending patent application titled “Receiver Parametric Covariance Estimation for Precoded MIMO Transmissions,” U.S. patent application Ser. No. 12/036,323, the entire contents of which are incorporated by reference herein, a MIMO G-Rake receiver based upon the most general G-Rake formulation for MIMO is disclosed. For a 2×2 MIMO scenario, this receiver computes impairment covariance matrices corresponding to the first and second streams of a dual-stream precoded signal as:

Rstream0=R+αPC(1)heff(b1)heffH(b1)  (1)

and

Rstream1=R+αPC(0)heff(b0)heffH(b0)  (2)

Here, R is that portion of the impairment covariance not including the code-reuse interference. In other words, R captures impairment covariance arising from inter-symbol interference (ISI), multiple access interference (MAI), and noise. The second term in each expression is the code-reuse interference term.
In Equations (1) and (2), the code-reuse interference term is a function of the effective net response corresponding to the interfering stream. For stream 0, for example, the interfering stream is stream 1, and the code-reuse term is a function of heff(b1); for stream 1, the interfering stream is stream 0, and the code-reuse term is a function of heff(b0). The vectors b0 and b1 are the preceding vectors applied to streams 0 and 1, respectively.
More particularly, if n indexes data streams, then the effective net response vector corresponding to the nth stream is given by:




  
    
      
        
          
            
              h
              eff
            
            ⁡
            
              (
              
                b
                n
              
              )
            
          
          =
          
            
              
                b
                
                  0
                  ⁢
                  
                    
                  
                  ⁢
                  n
                
              
              ⁢
              
                h
                1
              
            
            +
            
              
                b
                
                  1
                  ⁢
                  
                    
                  
                  ⁢
                  n
                
              
              ⁢
              
                
                  
                    
                      γ
                      p
                    
                    ⁡
                    
                      (
                      1
                      )
                    
                  
                  
                    
                      γ
                      p
                    
                    ⁡
                    
                      (
                      2
                      )
                    
                  
                
              
              ⁢
              
                h
                2
              
            
          
        
        ,
      
    
    
      
        (
        3
        )
      
    
  




where bn=[b1n b2n]T is the preceding vector applied to the nth data stream. The vector hm is the net channel response associated with the mth transmit antenna (m=1 or 2), and γp(1) and γp(2) denote the fraction of the total pilot power allocated to the first and second transmit antennas, respectively. Each element of the net response vector hm corresponds to a given Rake finger. For example, for finger f (associated with delay df and receive antenna l), the corresponding net channel response vector element is given by:





  
    
      
        
          
            
              h
              m
            
            ⁡
            
              (
              f
              )
            
          
          =
          
            
              ∑
              
                p
                =
                0
              
              
                P
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  g
                  m
                
                ⁡
                
                  (
                  
                    p
                    ,
                    l
                  
                  )
                
              
              ⁢
              
                
                  R
                  
                    TX
                    /
                    RX
                  
                
                ⁡
                
                  (
                  
                    
                      d
                      f
                    
                    -
                    
                      τ
                      p
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  




where P is the number of paths, gm(p,l) is the channel estimate (medium response) associated with transmit antenna m, receive antenna l and path delay τp, and RTX/RX(τ) represents the convolution of the transmit and receive pulse shaping filters.

In Equations (1) and (2), the code-reuse terms include a scaling factor, αPC(n), representing the per-code energy allocated to interfering stream n. Assuming uniform power distribution across channelization codes, the per-code energy for the nth stream is given by:




  
    
      
        
          
            α
            PC
          
          ⁡
          
            (
            n
            )
          
        
        =
        
          
            (
            
              1
              
                
                  
                    γ
                    p
                  
                  ⁡
                  
                    (
                    1
                    )
                  
                
                ⁢
                
                  N
                  p
                
              
            
            )
          
          ⁢
          
            (
            
              
                N
                s
              
              K
            
            )
          
          ⁢
          
            
              γ
              d
            
            ⁡
            
              (
              n
              )
            
          
          ⁢
          
            
              Γ
              
                D
                /
                P
              
            
            .
          
        
      
    
    
      
        (
        5
        )
      
    
  




Here, K is the number of channelization codes used for each data stream (and is the same for each stream) and ΓD/P is the ratio of the power allocated to the data channel (in the W-CDMA specifications, the High-Speed Downlink Shared Channel, or HS-DSCH) to the total power allocated to the pilot channels (in W-CDMA, the Common Pilot Channel, or CPICH). The quantity γd(n) denotes the fraction of the total data power allocated to the nth data stream, and γp(1) denotes the fraction of the total pilot power allocated to the first transmit antenna. The quantities Ns and Np represent the spreading factors used for the data channel (typically sixteen) and the pilot channel (typically 256), respectively.

Given the preceding construction, the per-code energies αPC(0) and αPC(1) are needed by a receiver to compute the stream-specific covariance matrices Rsteam0 and Rstream1. Typically, all of the quantities in Equation (5) are known to the receiver, with the possible exception of the data-to-pilot power ratio ΓD/P. In the 3GPP W-CDMA specifications, a provision exists for explicit signaling of the data-to-pilot power ratio. In this case, a mobile station may simply obtain a value for ΓD/P via a downlink control channel, and compute the per-code energies αPC(n) directly, using Equation (5). Another possible approach, where a value for ΓD/P cannot be obtained by signaling, is to simply use a pre-determined, nominal value for ΓD/P. However, both of these approaches suffer in accuracy. In the first case, a value for ΓD/P obtained by explicit signaling can rapidly become out of date, since specifications currently call for signaling ΓD/P on an infrequent basis. In the second case, the computed values for ΓD/P may be very inaccurate when the actual data-to-pilot ratio strays significantly from the nominal, “assumed” value. Hence, methods for estimating per-code energies αPC(n), or alternatively, for estimating a value for ΓD/P in order to facilitate calculation of the per-code energies, are needed.
In one approach, the per-code traffic-to-pilot power ratio is computed using the parametric GRAKE. The parametric GRAKE models the impairment as a covariance matrix expressed as:

R=αRISI+βRNoise,  (6)

where the covariance matrix consists of a sum of two weighted matrices. One matrix RISI models the inter-symbol interference (ISI) and the other matrix RNoise models white noise and other un-modeled interference. The a parameter corresponds to the total transmitted power from the Node B. If the approximation is made that all transmitted power except for CPICH is used for HS-PDSCH, and if the transmitted power is equal on both streams, then the per-code traffic-to-pilot power ratio αPC can be approximated as:





  
    
      
        
          
            
              α
              PC
            
            ≈
            
              
                1
                K
              
              ⁢
              
                
                  N
                  s
                
                
                  N
                  p
                
              
              ⁢
              
                (
                
                  
                    α
                    ⁢
                    
                      
                    
                    ⁢
                    
                      N
                      p
                    
                  
                  -
                  1
                
                )
              
            
          
          =
          
            
              1
              K
            
            ⁢
            
              (
              
                
                  16
                  ⁢
                  
                    
                  
                  ⁢
                  α
                
                -
                
                  1
                  /
                  16
                
              
              )
            
          
        
        ,
      
    
    
      
        (
        7
        )
      
    
  




where K is the number of channelization codes and Ns and Np again represent the spreading factors used for the data channel (typically sixteen) and the pilot channel (typically 256).

This approach tends to overestimate the per-code traffic-to-pilot power ratio. Also, the estimation can be excessively noisy. Another approach, as detailed further herein, is to re-use the demodulation decision boundary that is typically computed in the soft value generation process. The decision boundary is computed, based on received traffic data symbols, and used to de-map the received symbols from higher order modulation constellations, such as 16 QAM and 64 QAM, to obtain soft bit values for decoding. In some embodiments of the invention, then, as detailed below, a decision boundary is computed, the decision boundary representing an estimate of the amplitude or power of the complex valued received data symbols. A corresponding calculation is performed for the received CPICH symbols. Finally, an estimate of αPC can be found by forming the ratio of the decision boundary estimates for the traffic channel data and the amplitude or power of the CPICH. As seen below, several variants of this general approach are possible.
FIG. 2 is a block diagram providing an overview of a wireless receiver configured to process received MIMO signals according to one or more of the techniques disclosed herein. Generally speaking, signals received via two (or more) antennas are conditioned, downconverted, and digitally sampled by radio circuits 210, which are configured to receive radio signals formatted according to one or more wireless communication standards such as the 3GPP standards for W-CDMA. Radio circuits 210 thus generate chip samples from the received signal, which includes the information signal transmitted from antennas 108 and 110 at base station 106, and provide the chip samples to baseband processing circuits 220 for demodulation, detection, and further processing.
In the block diagram of FIG. 2, the details of baseband processing circuits 220 are illustrated in terms of functional blocks, which include correlators 225, delay estimation circuit 230, channel estimation and weight calculation circuit 235, combiner 240, per-code power ratio estimation circuit 245, soft bit estimation circuit 250, and HARQ buffer 255. Of course, the functional block diagram of FIG. 2 is simplified; those skilled in the art will appreciate that a number of features and elements not necessary to a complete understanding of the present invention are omitted. Further, those skilled in the art will appreciate that the functions illustrated in FIG. 2 may be implemented using a variety of programmable devices, digital hardware, or combinations thereof. FIG. 3 thus illustrates an exemplary implementation of baseband processing circuits 220, in which the processing circuits 220 comprise micro-processor circuits 310, digital-signal processing (DSP) circuits 320, and other digital hardware 330, each of which has access to memory 340. Memory 340 includes stored program code 345, which is executed by at least microprocessor circuits 320.
Like FIG. 2, the schematic diagram of FIG. 3 is simplified; those skilled in the art will again appreciate that a number of features and elements not necessary to a complete understanding of the present invention are omitted. Those skilled in the art will thus appreciate that baseband processing circuits 220 may, in various embodiments, comprise one or several microprocessors, microcontrollers, digital signal processors, and the like, each of which may be configured with appropriate software and/or firmware to carry out all or parts of the various functions illustrated in FIG. 2, and may further comprise various digital hardware blocks configured to carry out all or parts of those various signal processing tasks. Baseband processing circuits 220 may be implemented with one or more application-specific integrated circuits (ASICs), off-the-shelf digital and analog hardware components, or some combination of ASICs and off-the-shelf hardware. Memory 340 may include several different types, including, but not limited to, flash, read-only memory (ROM), random-access memory (RAM), cache memory, etc., and may be implemented completely or partially on-board one or more ASICs, or using memory devices separate the remaining circuits of baseband processing circuits 220, or with some combination of these approaches.
Referring once again to FIG. 2, the over-sampled chip samples produced by radio circuits 210 are provided to baseband processing circuits 220 for interference suppression, demodulation, and detection. In particular, the chip samples are fed to an array of correlators 225, typically called “fingers,” where the samples are correlated with the channelization codes, or “de-spread,” at each of several delays to produce a vector of de-spread values y[n] for each received symbol. The specific delays used by the correlators 225 are determined by the delay estimation circuit 230, and typically include delays corresponding to the strongest multipath “rays” in the received signal. The characteristics of the propagation channel between the transmit antennas and the receive antennas are measured by the channel estimation and weight calculation circuit 235, based on the finger delays and the received pilot symbols. The channel estimation & weight calculation circuit 235 also computes interference-suppressing combining weights, w, which are used in combiner 240 combine the de-spread values y[n] in a combiner 240 to produce “soft values” s[n], i.e., estimates of the transmitted symbol values.
The de-spread HS-PDSCH symbols output by the correlators 225 in FIG. 2 may be denoted as:

y[n]=Hb0s0[n]+Hb1s1[n]+U,  (8)

where bi is the 2×1 pre coding weight vector, H is an N×2 channel response matrix where N is the number of delays/fingers, si[n] is the data symbol for stream i, and U is all other interference. In some embodiments, the weight calculation circuit 235 computes intermediate weights, i.e., weights with a rank-one update to account for code reuse interference, according to:

v0=Hb0/R 

v1=Hb1/R,  (9)

where R is the impairment covariance matrix estimated for all N fingers.

Next, a rank-one update of the N×1 combining weight vectors may be computed by the weight calculator 235 to obtain stream-specific combining weight vectors that account for code re-use interference, according to:




  
    
      
        
          
            w
            0
          
          =
          
            
              v
              0
            
            -
            
              
                
                  
                    
                      α
                      pc
                    
                    ⁡
                    
                      (
                      1
                      )
                    
                  
                  ⁢
                  
                    v
                    1
                    H
                  
                  ⁢
                  
                    Hb
                    0
                  
                
                
                  1
                  +
                  
                    
                      
                        α
                        pc
                      
                      ⁡
                      
                        (
                        1
                        )
                      
                    
                    ⁢
                    
                      v
                      1
                      H
                    
                    ⁢
                    
                      Hb
                      1
                    
                  
                
              
              ⁢
              
                v
                1
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              w
              1
            
            =
            
              
                v
                1
              
              -
              
                
                  
                    
                      
                        α
                        pc
                      
                      ⁡
                      
                        (
                        0
                        )
                      
                    
                    ⁢
                    
                      v
                      0
                      H
                    
                    ⁢
                    
                      Hb
                      1
                    
                  
                  
                    1
                    +
                    
                      
                        
                          α
                          pc
                        
                        ⁡
                        
                          (
                          0
                          )
                        
                      
                      ⁢
                      
                        v
                        0
                        H
                      
                      ⁢
                      
                        Hb
                        0
                      
                    
                  
                
                ⁢
                
                  v
                  0
                
              
            
          
          ,
        
      
    
    
      
        (
        10
        )
      
    
  




where the stream-specific traffic-to-pilot power ratios αpc(0) and αpc(1) (corresponding to streams 0 and 1, respectively) compensate for using pilot symbols to estimate the channel and are computed by per-code power ratio estimation circuit 245 according to one of the techniques described in detail below. The received combined symbol, computed in the combiner 240 in the receiver of FIG. 2, can then be written as:

{tilde over (s)}0[n]=w0Hy[n]

{tilde over (s)}1[n]=w1Hy[n].  (11)

The combined symbol value estimates {tilde over (s)}0[n] and {tilde over (s)}1[n] are supplied to soft bit estimation circuit, which de-maps the symbol values into soft bit values according to the modulation constellation used to generate the transmitted signals and a decision boundary estimate (di), an. The decision boundary estimate, which is based on the amplitude of the received traffic channel symbols, may in some embodiments be calculated in the per-code power ratio estimation circuit 245 as part of traffic-to-pilot power ratio estimation process, as will be discussed in detail below. In any event, the soft bit values produced by the soft bit estimation circuit 250 are fed to a HARQ buffer circuit for detection and decoding.
Because the CPICH signal-to-interference-plus-noise ratio must be computed for channel-quality-indicator (CQI) reporting, in some embodiments, the channel estimation and weight calculation circuit 235 may be configured to calculate stream-specific SINR's according to:




  
    
      
        
          
            SINR
            
              dual
              ,
              0
            
          
          =
          
            
              
                
                
                  
                    w
                    0
                    H
                  
                  ⁢
                  
                    b
                    0
                  
                  ⁢
                  H
                
                
              
              2
            
            
              
                
                  w
                  0
                  H
                
                ⁢
                
                  Rw
                  0
                
              
              +
              
                
                  
                    α
                    pc
                  
                  ⁡
                  
                    (
                    1
                    )
                  
                
                ⁢
                
                  
                    
                    
                      
                        w
                        1
                        H
                      
                      ⁢
                      
                        b
                        0
                      
                      ⁢
                      H
                    
                    
                  
                  2
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            SINR
            
              dual
              ,
              1
            
          
          =
          
            
              
                
                  
                  
                    
                      w
                      1
                      H
                    
                    ⁢
                    
                      b
                      1
                    
                    ⁢
                    H
                  
                  
                
                2
              
              
                
                  
                    w
                    1
                    H
                  
                  ⁢
                  
                    Rw
                    1
                  
                
                +
                
                  
                    
                      α
                      pc
                    
                    ⁡
                    
                      (
                      0
                      )
                    
                  
                  ⁢
                  
                    
                      
                      
                        
                          w
                          0
                          H
                        
                        ⁢
                        
                          b
                          1
                        
                        ⁢
                        H
                      
                      
                    
                    2
                  
                
              
            
            .
          
        
      
    
    
      
        (
        12
        )
      
    
  




This calculation further depends on the stream-specific traffic-to-pilot power ratios.

In some embodiments, the HS-PDSCH to CPICH power ratio parameter ΓD/P, sent to the mobile terminal from the Node B, may be used by the mobile terminal to calculate SINR for CQI reporting. The per-code traffic-to-pilot power ratio may be estimated directly from the power ratio parameter ΓD/P:




  
    
      
        
          
            α
            PC
          
          =
          
            
              Γ
              
                D
                /
                P
              
            
            15
          
        
        ,
      
    
    
      
        (
        13
        )
      
    
  




since the 3GPP standards (3GPP TS 25.214) specify that 15 codes should be assumed for the CQI reporting. The same αPC could also be used for computing the combining weights, however as noted above the risk is that the Node B actually uses a different power ratio for one or more transmission-time-intervals (TTIs).

Accordingly, in some embodiments of the invention, the per-code traffic-to-pilot power ratio used to calculate the combining weights is derived from the decision boundary estimate used for demodulating the received traffic data, whether the traffic data is modulated Quadrature Phase-Shift Keying (QPSK), 16-level Quadrature Amplitude Modulation (16 QAM), or 64-level Quadrature Amplitude Modulation (64 QAM). In some embodiments, the decision boundary estimate is obtained by averaging the absolute mean value of combined HS-PDSCH symbols. Thus, for stream 0, the decision boundary estimate may be calculated as:




  
    
      
        
          
            d
            0
          
          =
          
            
              1
              
                2
                ⁢
                
                  
                
                ⁢
                N
              
            
            ⁢
            
              
                ∑
                
                  n
                  =
                  0
                
                N
              
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    
                    
                      Re
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          
                            s
                            ~
                          
                          0
                        
                        ⁡
                        
                          [
                          n
                          ]
                        
                      
                    
                    
                  
                  +
                  
                    
                    
                      Im
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          
                            s
                            ~
                          
                          0
                        
                        ⁡
                        
                          [
                          n
                          ]
                        
                      
                    
                    
                  
                
                )
              
            
          
        
        ,
      
    
    
      
        (
        14
        )
      
    
  




where N is the number of HS-PDSH symbols used in the estimate. In some embodiments, the estimate may be computed using all symbols in a given slot.

Once the decision boundary estimate d0 is obtained, αPC(0) can then be estimated by dividing the decision boundary estimate by a corresponding estimate of the pilot symbol amplitude, scaling, and squaring:




  
    
      
        
          
            
              α
              pc
            
            ⁡
            
              (
              0
              )
            
          
          ≈
          
            
              (
              
                m
                ·
                
                  
                    2
                    ⁢
                    
                      
                    
                    ⁢
                    
                      d
                      0
                    
                  
                  
                    
                      
                      
                        Re
                        ⁡
                        
                          (
                          
                            
                              w
                              0
                              H
                            
                            ⁢
                            
                              Hb
                              0
                            
                          
                          )
                        
                      
                      
                    
                    +
                    
                      
                      
                        Im
                        ⁡
                        
                          (
                          
                            
                              w
                              0
                              H
                            
                            ⁢
                            
                              Hb
                              0
                            
                          
                          )
                        
                      
                      
                    
                  
                
              
              )
            
            2
          
        
        ,
      
    
    
      
        (
        15
        )
      
    
  




where the scaling factor m depends on the modulation used for the traffic data. For QPSK modulation, m=1, for 16 QAM, m=√{square root over (5/4)}, and for 64 QAM, m=√{square root over (21/16)}. The factor m compensates for the fact that absolute values are used instead of power estimates to compute the traffic-to-pilot power ratio. Corresponding equations may be used to separate calculate an estimate for αpc(1), corresponding to stream 1. Alternatively, it may be assumed, in some embodiments and/or under some circumstances, that αpc(0) and αpc(1) are equal.

With the above approach, the power ratio estimate αPC will be delayed by one slot or at least delayed for the demodulation of the first stream, as combined symbols {tilde over (s)}[n] are needed to obtain the decision boundary estimate. For the 2 last slots in a W-CDMA TTI, the αPC computed in the previous slot can be used, since αPC remains constant during a TTI. For the third and last slot in the TTI, the two previous αPC values may be averaged, in some embodiments to reduce noise in the estimate. However, since the actual per-code traffic-to-pilot ratio may vary from one TTI to another, the estimation of αPC for use in the first slot may be performed differently in some embodiments. One approach is to use the HS-PDSCH to CPICH power ratio parameter ΓD/P, signaled to the mobile terminal by the Node B, for estimating αPC for the first slot of the TTI, e.g., according to Equation (13) above.
Another approach is to make the assumption that the αPC is fairly constant from TTI to TTI, and thus carry over the αPC from the previous TTI. In some embodiments according to this approach, the per-code traffic-to-pilot power ratio is filtered, e.g., according to:

αPC—filtered,n=λαPC—filtered,n−1+(λ−1)αPC,n−1,  (16)

where the index n refers to the TTI and the filtered value is updated after the first slot in TTI n is processed. λ is a filter factor that sets a time constant for the smoothing operation; λ may be set to 0.5, for example, or to some other suitable value as determined by simulation, testing, or the like. An initial value (e.g., for the very first TTI processed) for αPC may be computed from the signalled power ratio parameter ΓD/P, e.g., according to Equation (15).

Yet another way to get an αPC value for the first slot in a TTI involves using Equation (7). First, for every slot solve for a in Equation (7) and call the result {tilde over (α)}. That is, compute:




  
    
      
        
          
            α
            ~
          
          =
          
            
              1
              16
            
            ⁢
            
              (
              
                
                  K
                  ⁢
                  
                    
                  
                  ⁢
                  
                    α
                    PC
                  
                
                +
                
                  1
                  16
                
              
              )
            
          
        
        ,
      
    
    
      
        (
        17
        )
      
    
  




where αPC is the most recently estimated αPC value. {tilde over (α)} may then be averaged or filtered over several slots to obtain a filtered value α′. Here, α′ is a measure of the transmitted cell power, which should stay fairly constant. Equation (7) may then be used, substituting α′ for α, to obtain a value for αPC to use for the current slot. Those skilled in the art will appreciate that solving for α in Equation (7) further involves the approximation that all codes are sent with same power across users, which is not always true but may be a fair approximation in many circumstances.

As noted above, the previous approach for estimating the traffic-channel-to-pilot power ratio based on a decision boundary estimate computed from Rake-combined symbol values yields an estimated value for αPC that is delayed by one slot. An alternative approach is to do a “dry run” over a given slot, such as the first slot in a TTI, for estimating αPC, and then re-processing the slot with combining weights computed using the estimated αPC. Thus, tentative combining weights, (such as the combining weights for a previous slot, or combining weights computed according to the most recent estimate of αPC) are used in a first pass of the slot data, to obtain an estimate of αPC. The combining weights may then be re-calculated, using the updated αPC, for generating the soft values and soft bits used for detecting the received signal.
Of course, those skilled in the art will appreciate that this alternative requires running some or all of the decision boundary estimation, combining weight calculation, and αPC calculations twice. This may prove to be too complex an approach for some applications. Thus, several less complex alternatives are based on the use of only a single Rake finger to estimate the amplitude or power level of the received traffic data symbols. Generally this should be the finger corresponding to the strongest propagation path, e.g., as determined by the delay estimation circuit of FIG. 2.
If a single processing delay (e.g., Rake finger) is used, the channel estimate Hf corresponding to that delay may be used as a weight. (Those skilled in the art will appreciate that Hf is a 2×2 matrix in a 2×2 MIMO system, with the four entries corresponding to the propagation channels between each of the two transmit antennas and the two receive antennas.) Along with the precoding vectors used to generate the MIMO signal, the channel estimate Hf can be used to estimate the per-code traffic-channel-to-pilot power ratio αPC:




  
    
      
        
          
            
              α
              pc
            
            ⁡
            
              (
              0
              )
            
          
          ≈
          
            
              (
              
                m
                ·
                
                  
                    
                      1
                      N
                    
                    ⁢
                    
                      
                        ∑
                        
                          n
                          =
                          0
                        
                        N
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        (
                        
                          
                            
                            
                              Re
                              ⁡
                              
                                (
                                
                                  
                                    
                                      (
                                      
                                        
                                          H
                                          f
                                        
                                        ⁢
                                        
                                          b
                                          0
                                        
                                      
                                      )
                                    
                                    *
                                  
                                  ⁢
                                  
                                    
                                      y
                                      f
                                    
                                    ⁡
                                    
                                      [
                                      n
                                      ]
                                    
                                  
                                
                                )
                              
                            
                            
                          
                          +
                          
                            
                            
                              Im
                              ⁡
                              
                                (
                                
                                  
                                    
                                      (
                                      
                                        
                                          H
                                          f
                                        
                                        ⁢
                                        
                                          b
                                          0
                                        
                                      
                                      )
                                    
                                    *
                                  
                                  ⁢
                                  
                                    
                                      y
                                      f
                                    
                                    ⁡
                                    
                                      [
                                      n
                                      ]
                                    
                                  
                                
                                )
                              
                            
                            
                          
                        
                        )
                      
                    
                  
                  
                    
                      
                        (
                        
                          
                            H
                            f
                          
                          ⁢
                          
                            b
                            0
                          
                        
                        )
                      
                      *
                    
                    ⁢
                    
                      H
                      f
                    
                    ⁢
                    
                      b
                      0
                    
                  
                
              
              )
            
            2
          
        
        ,
      
    
    
      
        (
        18
        )
      
    
  




where yf[n] is the despread HS-PDSCH symbol n for the strongest finger f, and Hfb0 is the channel estimates for the finger f. As with Equation (15), the scaling factor m compensates for the fact that absolute values are used instead of power estimates to compute the power ratio, and depends on the modulation. For QPSK, m=1, m=√{square root over (5/4)} for 16 QAM, and m=√{square root over (21/16)} for 64 QAM.

Those skilled in the art will appreciate that the numerator of the quotient of Equation (18) is an estimate of the average received traffic symbol amplitude, although computed from soft value estimates obtained from a single finger. The denominator is a corresponding estimate of the CPICH pilot symbol amplitude, based on the same finger. Thus, the calculation of Equation (18) resembles that of Equation (15), but uses a symbol estimate obtained from a single Rake finger, rather than a symbol estimate obtained by combining multiple Rake fingers with combining weights. With this alternative solution, an estimate for αPC that is not delayed a slot can be more easily obtained.
Another alternative approach is also based on the use of de-spread data obtained from a single, strongest Rake finger. As before, the delay estimation circuit 235 of FIG. 2 can identify the strongest finger f. The despread HS-PDSCH symbol estimate from that finger may be used to compute the absolute mean value of N symbols:




  
    
      
        
          
            t
            f
          
          =
          
            
              1
              
                2
                ⁢
                
                  
                
                ⁢
                N
              
            
            ⁢
            
              
                ∑
                
                  n
                  =
                  0
                
                
                  N
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    y
                    f
                    *
                  
                  ⁡
                  
                    [
                    n
                    ]
                  
                
                ⁢
                
                  
                    y
                    f
                  
                  ⁡
                  
                    [
                    n
                    ]
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        19
        )
      
    
  




where yf[n] is the de-spread HS-PDSCH symbol n for finger f.

The corresponding pilot symbol amplitude may be computed, using the channel estimates Hf for finger f:




  
    
      
        
          
            n
            f
          
          =
          
            
              1
              
                2
                ⁢
                
                  
                
                ⁢
                
                  M
                  0
                
                ⁢
                
                  M
                  1
                
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  0
                
                
                  
                    M
                    0
                  
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∑
                  
                    j
                    =
                    0
                  
                  
                    
                      M
                      1
                    
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      (
                      
                        
                          
                            a
                            
                              0
                              ,
                              i
                            
                          
                          ⁢
                          
                            H
                            f
                          
                          ⁢
                          
                            b
                            0
                          
                        
                        +
                        
                          
                            a
                            
                              1
                              ,
                              i
                            
                          
                          ⁢
                          
                            H
                            f
                          
                          ⁢
                          
                            b
                            1
                          
                        
                      
                      )
                    
                    *
                  
                  ⁢
                  
                    (
                    
                      
                        
                          a
                          
                            0
                            ,
                            i
                          
                        
                        ⁢
                        
                          H
                          f
                        
                        ⁢
                        
                          b
                          0
                        
                      
                      +
                      
                        
                          a
                          
                            1
                            ,
                            j
                          
                        
                        ⁢
                        
                          H
                          f
                        
                        ⁢
                        
                          b
                          1
                        
                      
                    
                    )
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        20
        )
      
    
  




where Ms is the number of constellation points for stream s, e.g., 16 for 16 QAM, or 64 for 64 QAM, and αs,i is the complex value of constellation point i for stream s. The constellation points are normalized to have unit average power. Hfb0 is the channel estimate for the finger f.

The power ratio αPC can then be estimated as:




  
    
      
        
          α
          PC
        
        ≈
        
          
            
              t
              f
            
            
              n
              f
            
          
          .
        
      
    
    
      
        (
        21
        )
      
    
  




Those skilled in the art will appreciate that the summation in Equation (20) can be quite complex to compute for larger modulation constellations like 64 QAM. However, Equation (20) can be re-written as:

nf=C1|Hfb0|2+C2|Hfb1|2+C3Re(Hfb0·(Hfb1)*),  (22)

where the constants Ci, i=1, 2, 3, can be pre-computed for the different modulation alternatives (QPSK, 16 QAM, 64 QAM). For instance, for 64 QAM, Equation (22) can be simplified to:





  
    
      
        
          n
          f
        
        =
        
          
            1
            2
          
          ⁢
          
            
              (
              
                
                  
                    
                    
                      
                        H
                        f
                      
                      ⁢
                      
                        b
                        0
                      
                    
                    
                  
                  2
                
                +
                
                  
                    
                    
                      
                        H
                        f
                      
                      ⁢
                      
                        b
                        1
                      
                    
                    
                  
                  2
                
              
              )
            
            .
          
        
      
    
    
      
        (
        23
        )
      
    
  




With the above alternative techniques for estimating the per-code traffic-to-pilot power ratio in mind, those skilled in the art will appreciate that FIG. 4 illustrates an exemplary method for estimating the per-code traffic-to-pilot power ratio for a multi-stream MIMO signal, and applying that power ratio to the computation of stream-specific combining weights and stream-specific signal metrics. The method illustrated in FIG. 4 may be implemented in the wireless receiver of FIG. 2, as discussed above, or in another wireless receiver configured to receive and process a multi-stream MIMO signal.
As shown at block 410, the process begins with the calculation of an average symbol amplitude from a plurality of de-spread traffic channel symbols received in at least a first transmission slot, such as a single slot of a W-CDMA HS-DSCH signal. In some embodiments, the average symbol is calculated according to Equation (14), although alternative formulations may be used in other embodiments. In some embodiments, a power level may be calculated, rather than an amplitude, from the de-spread traffic channel symbols.
As shown at block 420, a corresponding pilot symbol amplitude (or pilot symbol power level) is also calculated, based on an estimated propagation channel response and at least one of a plurality of preceding vectors used to generate the MIMO signal. In some embodiments, this calculation may be according to the denominator of the quotient in Equation (15), although alternative formulations may also be used.
As shown at block 430, a per-code traffic-to-pilot ratio may then be computed for the first transmission slot by dividing the average symbol amplitude (or power) obtained at block 410 by the corresponding pilot symbol amplitude (or power) obtained at block 420. As seen in Equation (15), this calculation may also include a scaling factor m that is specific to the modulation format, and may also require a squaring of the quotient to convert the result from an amplitude quantity to a power, or energy, quantity.
As shown at block 440, the per-code traffic-channel-to-pilot power ratio may be used to calculate stream-specific combining weights, e.g., according to Equations (9) and (10). Similarly, as shown at block 450, the per-code traffic-channel-to-pilot power ratio may be used to calculate stream-specific signal quality metrics, such as SINR, e.g., according to Equation (12).
FIGS. 5, 6, and 7 illustrate details of several variants of the general technique illustrated in FIG. 4 for estimating per-code traffic-to-pilot power ratio for a MIMO signal. Again, each of these techniques may be implemented in the wireless receiver of FIG. 2, or in another wireless receiver configured to receive and process a multi-stream MIMO signal.
The technique illustrated in FIG. 5 bases the average symbol amplitude calculation on traffic channel symbol estimates obtained by combining multiple de-spread samples with stream-specific combining weights. Thus, the process flow diagram begins at block 510 with the calculation of stream-specific combining weights, based on a previously obtained per-code power ratio value. As noted above, this previously obtained per-code power ratio value may be obtained from a previous slot, in some embodiments and/or under some circumstances, or may be derived from a previous TTI or as a weighted average of several previously obtained power ratios, in some embodiments, or may be estimated based on a signaled traffic-channel-to-pilot-channel parameter obtained from a base station. In still other embodiments, the previously obtained power ratio may be obtained based on a “dry run” of the current slot symbols through one of the power ratio estimation procedures described above.
In any event, the illustrated method continues, as shown at block 520, with the de-spreading of the received signal at a plurality of time delays (e.g., Rake fingers), to obtain de-spread values, and continues at block 530 with the combining of the de-spread values with the stream-specific combining weights. At block 540, the resulting combined traffic channel symbols are used to calculate a stream-specific average symbol amplitude, e.g., using the formulation of Equation (11). This calculation may be repeated for a second (or subsequent stream), using an appropriately modified version of Equation (14), to obtain stream-specific average symbol amplitudes for each stream, if desired.
At block 550, a stream-specific pilot symbol level is calculated, using the precoding vectors used to generate the MIMO signal and the stream-specific combining weights, e.g., according to the denominator of the quotient in Equation (15). Again, this calculation might be repeated for one or more additional streams, using the corresponding preceding vector and stream-specific combining weights. However, the stream-specific pilot symbol amplitude levels may be assumed to be equal in some embodiments. Finally, as shown at block 560, the stream-specific per-code traffic-to-pilot ratio may be computed, from the average traffic symbol amplitude and the estimated pilot symbol amplitude, e.g., according to Equation (15).
Process flow diagrams illustrating two exemplary per-code traffic-to-pilot power ratio estimation techniques based on a single processing delay (e.g., Rake finger) are illustrated in FIGS. 6 and 7. Those skilled in the art will appreciate that the first technique, illustrated in FIG. 6, permits the estimation of stream-specific traffic-to-pilot power ratios, while the second, illustrated in FIG. 7, results in a single per-code traffic-to-pilot power ratio that may be applied to both streams of a dual-stream signal.
Both techniques begin with the identification and selection of a processing delay that corresponds to the strongest propagation path, as shown at blocks 610 and 710 of FIGS. 6 and 7, respectively. Likewise, both techniques continue with the de-spreading of the received MIMO signal, at the selected delay, to obtain a single-delay de-spread value for each of a plurality of received traffic channel symbols, as shown at blocks 620 and 620 of FIGS. 6 and 7, respectively.
The process illustrated in FIG. 6 continues, as shown at block 630, with the calculation of a stream-specific average symbol amplitude (or power) from the de-spread values and the appropriate MIMO precoding vector. This calculation may take the form of the numerator of the quotient in Equation (18), in some embodiments, although other equivalent formulations may also be used. The stream-specific power ratio estimation procedure of FIG. 6 continues, as shown at block 640, with the estimation of stream-specific pilot symbol amplitude, based on the precoding vector and the single-delay propagation channel response estimate, e.g., according to the denominator of the quotient in Equation (18). Finally, the stream-specific per-code traffic-to-pilot ratio is calculated from the average symbol amplitude and the estimated pilot symbol amplitude, e.g., according to Equation (18).
The per-code power ratio process of FIG. 7 diverges from that of FIG. 6 beginning at block 730, which illustrates that the single-finger de-spread values obtained at block 720 are used to calculate an estimated average traffic symbol power based on the absolute mean power of the de-spread values, e.g., according to Equation (19). At block 740, a corresponding pilot power estimate is calculated based on the precoding vectors and the single-delay channel response, e.g., using one of Equations (20), (22), or (23). Finally, as shown at block 750, the per-code traffic-to-pilot ratio is calculated, e.g., using Equation (23), from the estimated average traffic symbol power and the estimated pilot power.
Those skilled in the art will appreciate that a particular technique may be selected and/or adapted from the above-described techniques according to the demands of a particular system or application, and/or according to design constraints imposed by the wireless receiver structure or design. Those skilled in the art will further appreciate that two or more of the above detailed techniques or variants thereof may be combined, in some embodiments. For example, the techniques illustrated in FIG. 5 may be most suitable, in some embodiments, for application to the second and third slots of a W-CDMA TTI, with another technique, such as the single-finger techniques of FIG. 7 and FIG. 8, applied to the first slot. Similarly, the filtering techniques discussed above may be applied to per-code power ratios obtained from any of the above estimation techniques, and may be selectively applied, in some embodiments, depending on which of the above techniques is used for a given slot.
With the above variations and examples in mind, those skilled in the art will appreciate that the preceding descriptions of various embodiments of methods and apparatus for processing a received multi-stream MIMO signal are given for purposes of illustration and example. As suggested above, one or more of the specific processes discussed above, including the process flows illustrated in FIGS. 4-7, may be carried out in a wireless receiver comprising one or more appropriately configured processing circuits, which may in some embodiments be embodied in one or more application-specific integrated circuits (ASICs). In some embodiments, these processing circuits may comprise one or more microprocessors, microcontrollers, and/or digital signal processors programmed with appropriate software and/or firmware to carry out one or more of the processes described above, or variants thereof. In some embodiments, these processing circuits may comprise customized hardware to carry out one or more of the functions described above. Other embodiments of the invention may include computer-readable devices, such as a programmable flash memory, an optical or magnetic data storage device, or the like, encoded with computer program instructions which, when executed by an appropriate processing device, cause the processing device to carry out one or more of the techniques described herein for estimating receiver frequency offset in a communications receiver. Those skilled in the art will recognize, of course, that the present invention may be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are thus 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.

## Claims

1. A method in a wireless receiver for processing a received multi-stream multiple-input multiple-output (MIMO) signal, comprising:
calculating an average symbol amplitude or average symbol power level from a plurality of de-spread traffic channel symbols received in a first transmission slot;
estimating a corresponding pilot symbol amplitude or pilot symbol power level, based on an estimated propagation channel response and at least one of a plurality of precoding vectors used to generate the MIMO signal;
computing a per-code traffic-channel-to-pilot power ratio for the first transmission slot by dividing the average symbol amplitude or average symbol power level by the corresponding pilot symbol amplitude or pilot symbol power level;
wherein calculating an average symbol amplitude or average symbol power level from a plurality of de-spread traffic channel symbols received in a first transmission slot comprises:
calculating stream-specific combining weights from the estimated propagation channel response, the precoding vectors used to generate the MIMO signal, and a previously calculated per-code power ratio computed for a prior transmission slot as a weighted average of per-code power ratios computed for two or more prior transmission slots;
de-spreading samples of the received signal at each of multiple time delays and combining the de-spread samples using the stream-specific combining weights corresponding to a first stream of the MIMO signal, to obtain each of a plurality of combined traffic channel symbols; and
calculating the average symbol amplitude or average symbol power level from the plurality of combined traffic channel symbols.

2. The method of claim 1 further comprising first calculating the stream-specific combining weights from the estimated propagation channel response, the precoding vectors used to generate the MIMO signal, and a previously calculated per-code power ratio estimated from a power ratio parameter signaled to the wireless receiver by a base station.

3. The method of claim 1, wherein estimating a corresponding pilot symbol amplitude or pilot symbol power level comprises calculating the estimated pilot symbol amplitude or pilot symbol power level as a function of the estimated propagation channel response, the precoding vector for a first stream of the MIMO signal, and stream-specific combining weights corresponding to the first stream of the MIMO signal.

4. A method in a wireless receiver for processing a received multi-stream multiple-input multiple-output (MIMO) signal, comprising:
calculating an average symbol amplitude or average symbol power level from a plurality of de-spread traffic channel symbols received in a first transmission slot;
estimating a corresponding pilot symbol amplitude or pilot symbol power level, based on an estimated propagation channel response and at least one of a plurality of precoding vectors used to generate the MIMO signal;
computing a per-code traffic-channel-to-pilot power ratio for the first transmission slot by dividing the average symbol amplitude or average symbol power level by the corresponding pilot symbol amplitude or pilot symbol power level;
further comprising calculating a filtered power ratio for the first transmission slot by computing a weighted average of the per-code traffic-channel-to-pilot power ratio for the first transmission slot and one or more per-code power ratios computed for prior transmission slots as a weighted average of per-code power ratios computed for two or more of the prior transmission slots.

5. The method of claim 4, further comprising computing stream-specific combining weights for a first stream of the MIMO signal as a function of the per-code traffic-channel-to-pilot power ratio for the first transmission slot, the estimated propagation channel response, and the precoding vectors used to generate the MIMO signal.

6. The method of claim 4, further comprising computing a stream-specific signal quality metric for the first stream of the MIMO signal as a function of the per-code traffic-channel-to-pilot power ratio for the first transmission slot, the estimated propagation channel response, and the precoding vector for the first stream of the MIMO signal.