# Patent

## Title
Equalizer in a wireless communication system

## Abstract

Techniques for performing equalization at a receiver are described. In an aspect, equalization is performed by sub-sampling an over-sampled input signal to obtain multiple sub-sampled signals. An over-sampled channel impulse response estimate is derived and sub-sampled to obtain multiple sub-sampled channel impulse response estimates. At least one set of equalizer coefficients is derived based on at least one sub-sampled channel impulse response estimate. At least one sub-sampled signal is filtered with the at least one set of equalizer coefficients to obtain at least one output signal. One sub-sampled signal (e.g., with largest energy) may be selected and equalized based on a set of equalizer coefficients derived from an associated sub-sampled channel impulse response estimate. Alternatively, the multiple sub-sampled signals may be equalized based on multiple sets of equalizer coefficients, which may be derived separately or jointly. The equalizer coefficients may be derived in the time domain or frequency domain.

## Background
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a divisional application of application Ser. No. 11/399,891, filed Apr. 7, 2006, entitled EQUALIZER FOR A RECEIVER IN A WIRELESS COMMUNICATION SYSTEM, which claims priority to U.S. Provisional Application No. 60/737,459 filed Nov. 15, 2005 entitled FFT BASED METHODS FOR EQUALIZATION OF WCDMA DOWNLINK SIGNALS. The entire disclosures of all these applications (including all attached documents) are incorporated by reference in their entireties for all purposes.


BACKGROUND
I. Field
The present disclosure relates generally to communication, and more specifically to techniques for receiving a signal in a wireless communication system.
II. Background
Wireless communication systems are widely deployed to provide various communication services such as voice, packet data, video, broadcast, messaging, and so on. These systems may be multiple-access systems capable of supporting communication for multiple users by sharing the available system resources. Examples of such multiple-access systems include Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, and Frequency Division Multiple Access (FDMA) systems.
A wireless device (e.g., a cellular phone) in a CDMA system typically employs a rake receiver. The rake receiver includes one or more searcher elements and multiple demodulation elements, which are commonly referred to as searchers and fingers, respectively. Due to the relatively wide bandwidth of a CDMA signal, a wireless communication channel is assumed to be composed of a finite number of resolvable signal paths, or multipaths. Each multipath is characterized by a particular complex gain and a particular time delay. The searcher(s) search for strong multipaths in a received signal, and fingers are assigned to the strongest multipaths found by the searcher(s). Each finger processes its assigned multipath and provides symbol estimates for that multipath. The symbol estimates from all assigned fingers are then combined to obtain final symbol estimates. The rake receiver can provide acceptable performance for a CDMA system operating at low signal-to-interference-and-noise ratios (SNRs).
The rake receiver has a number of shortcomings First, the rake receiver is not able to effectively handle multipaths with time delays separated by less than one chip period, which is often referred to as a “fat-path” scenario. Second, the rake receiver typically provides suboptimal performance at high geometry, which corresponds to high SNRs. Third, complicated circuitry and control functions are normally needed to search the received signal to find strong multipaths, to assign fingers to newly found multipaths, and to de-assign fingers from vanishing multipaths.
There is therefore a need in the art for a receiver that can ameliorate the shortcomings of a rake receiver.
SUMMARY
Techniques for performing equalization at a receiver (e.g., a wireless device or a base station) in a wireless communication system are described herein. In one aspect, equalization is performed by sub-sampling an over-sampled input signal to obtain multiple sub-sampled signals. An over-sampled channel estimate (e.g., an over-sampled channel impulse response estimate) may be derived and sub-sampled to obtain multiple sub-sampled channel estimates. For example, the input signal and the channel estimate may be over-sampled at multiple times chip rate, and the sub-sampled signals and the sub-sampled channel estimates may be at chip rate and may correspond to different sampling time instants. At least one set of equalizer coefficients is derived based on at least one sub-sampled channel estimate. At least one sub-sampled signal is then filtered with the at least one set of equalizer coefficients to obtain at least one output signal. In one embodiment, one sub-sampled signal (e.g., with the largest energy) is selected for equalization and is filtered with a set of equalizer coefficients derived based on an associated sub-sampled channel estimate. In other embodiments, the multiple sub-sampled signals are equalized based on multiple sets of equalizer coefficients, which may be derived separately or jointly based on the multiple sub-sampled channel estimates.
In another aspect, equalization is performed on an over-sampled input signal based on equalizer coefficients derived in the frequency domain. A channel impulse response estimate is derived and transformed to obtain a channel frequency response estimate. Time-domain covariance values for input samples may be determined and transformed to obtain frequency-domain covariance values. Frequency-domain equalizer coefficients are derived based on the channel frequency response estimate and the frequency-domain covariance values. The frequency-domain equalizer coefficients are transformed to obtain time-domain equalizer coefficients, which are used to filter the input samples.
Various aspects and embodiments of the invention are described in further detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout.
FIG. 1 shows a transmission in a wireless communication system.
FIG. 2 shows a block diagram of a base station and a wireless device.
FIG. 3 shows a block diagram of a CDMA modulator at the base station.
FIG. 4 shows a block diagram of an equalizer at the wireless device.
FIGS. 5A and 5B show a sub-sampler and sub-sampling, respectively.
FIG. 6 shows a computation unit for selective equalization.
FIG. 7 shows a process for performing selective equalization.
FIGS. 8A and 8B show computation units for separate equalization with equal and weighted combining, respectively.
FIG. 9 shows a process for performing separate equalization with combining
FIG. 10 shows a computation unit for joint equalization.
FIG. 11 shows a process for performing joint equalization.
FIG. 12 shows a process for performing equalization with sub-sampling.
FIG. 13 shows a process for performing equalization with coefficients derived in the frequency domain
FIG. 14 shows a base station with multiple transmit antennas.
FIG. 15 shows a wireless device with multiple receive antennas.
FIG. 16 shows a base station using space-time transmit diversity (STTD).



DETAILED DESCRIPTION
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
FIG. 1 shows an exemplary transmission in a wireless communication system. For simplicity, FIG. 1 shows only one base station 110 and one wireless device 120. A base station is generally a fixed station that communicates with the wireless devices and may also be called a Node B, an access point, or some other terminology. A wireless device may be fixed or mobile and may also be called a user equipment (UE), a mobile station, a user terminal, a subscriber unit, or some other terminology. A wireless device may be a cellular phone, a personal digital assistant (PDA), a wireless modem card, or some other device or apparatus.
Base station 110 transmits a radio frequency (RF) signal to wireless device 120. This RF signal may reach wireless device 120 via one or more signal paths, which may include a direct path and/or reflected paths. The reflected paths are created by reflections of radio waves due to obstructions (e.g., buildings, trees, vehicles, and other structures) in the wireless environment. Wireless device 120 may receive multiple instances or copies of the transmitted RF signal. Each received signal instance is obtained via a different signal path and has a particular complex gain and a particular time delay determined by that signal path. The received RF signal at wireless device 120 is a superposition of all received signal instances at the wireless device. Wireless device 120 may also receive interfering transmissions from other transmitting stations. The interfering transmissions are shown by dashed lines in FIG. 1.
The equalization techniques described herein may be used for various communication systems such as CDMA, TDMA, FDMA, orthogonal frequency division multiple access (OFDMA), and single-carrier FDMA (SC-FDMA) systems. A CDMA system may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. cdma2000 covers IS-2000, IS-856, and IS-95 standards. A TDMA system may implement a RAT such as Global System for Mobile Communications (GSM). These various RATs and standards are known in the art. W-CDMA and GSM are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. An OFDMA system transmits modulation symbols in the frequency domain on orthogonal frequency subcarriers using OFDM. An SC-FDMA system transmits modulation symbols in the time domain on orthogonal frequency subcarriers.
The equalization techniques described herein may also be used for a wireless device as well as a base station. For clarity, these techniques are described below for a wireless device in a CDMA system, which may be a W-CDMA system or a cdma2000 system. Certain portions of the description are for a W-CDMA system.
FIG. 2 shows a block diagram of base station 110 and wireless device 120. At base station 110, a transmit (TX) data processor 210 receives traffic data for the wireless devices being served, processes (e.g., encodes, interleaves, and symbol maps) the traffic data to generate data symbols, and provides the data symbols to a CDMA modulator 220. As used herein, a data symbol is a modulation symbol for data, a pilot symbol is a modulation symbol for pilot, a modulation symbol is a complex value for a point in a signal constellation (e.g., for M-PSK, M-QAM, and so on), a symbol is generally a complex value, and pilot is data that is known a priori by both the base station and the wireless device. CDMA modulator 220 processes the data symbols and pilot symbols as described below and provides output chips to a transmitter (TMTR) 230. Transmitter 230 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) the output chips and generates an RF signal, which is transmitted from an antenna 232.
At wireless device 120, an antenna 252 receives the transmitted RF signal via direct and/or reflected paths and provides a received RF signal to a receiver (RCVR) 254. Receiver 254 processes (e.g., filters, amplifies, frequency downconverts, and digitizes) the received RF signal to obtain received samples. Receiver 254 may also perform pre-processing on the received samples and provides input samples to an equalizer 260. The pre-processing may include, e.g., automatic gain control (AGC), frequency correction, digital filtering, sample rate conversion, and so on. Equalizer 260 performs equalization on the input samples as described below and provides output samples. A CDMA demodulator (Demod) 270 processes the output samples in a manner complementary to the processing by CDMA modulator 220 and provides symbol estimates, which are estimates of the data symbols sent by base station 110 to wireless device 120. A receive (RX) data processor 280 processes (e.g., symbol demaps, deinterleaves, and decodes) the symbol estimates and provides decoded data. In general, the processing by CDMA demodulator 270 and RX data processor 280 is complementary to the processing by CDMA modulator 220 and TX data processor 210, respectively, at base station 110.
Controllers/processors 240 and 290 direct operation of various processing units at base station 110 and wireless device 120, respectively. Memories 242 and 292 store data and program codes for base station 110 and wireless device 120, respectively.
For CDMA, multiple orthogonal channels may be obtained with different orthogonal codes. For example, multiple orthogonal physical channels are obtained with different orthogonal variable spreading factor (OVSF) codes in W-CDMA, and multiple orthogonal traffic channels are obtained with different Walsh codes in cdma2000. The orthogonal channels may be used to send different types of data (e.g., traffic data, control data, broadcast data, pilot, and so on) and/or traffic data for different wireless devices.
FIG. 3 shows a block diagram of CDMA modulator 220 at base station 110. For clarity, the following description is for W-CDMA. CDMA modulator 220 includes a physical channel processor 310 for each physical channel used for traffic data and a pilot channel processor 320 for pilot. Within processor 310 for physical channel i used for wireless device 120, a spreader 312 spreads data symbols with an OVSF code oi(n) for physical channel i and provides data chips. Spreader 312 repeats each data symbol multiple times to generate N replicated symbols, where N is the length of OVSF code oi(n). Spreader 312 then multiplies the N replicated symbols with the N chips of OVSF code oi(n) to generate N data chips for the data symbol. A scrambler 314 multiplies the data chips with a scrambling sequence sp(n) for base station 110. A multiplier 316 scales the output of scrambler 314 and provides output chips x(n) for physical channel i.
Within pilot channel processor 320, a spreader 322 spreads pilot symbols with an OVSF code op(n) for pilot, which is a sequence of all zeros, and provides pilot chips. A scrambler 324 multiplies the pilot chips with the scrambling sequence sp(n). A multiplier 326 scales the output of scrambler 324 and provides output chips p(n) for the pilot channel. A summer 330 sums the output chips for all physical channels and provides output chips z(n) for base station 110. The chip rate is 3.84 mega-chips/second (Mcps) for W-CDMA and is 1.2288 Mcps for cdma2000.
At wireless device 120, the time-domain input samples from receiver 254 may be expressed as:




  
    
      
        
          
            y
            ⁡
            
              (
              n
              )
            
          
          =
          
            
              
                
                  h
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ⊗
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              +
              
                w
                ⁡
                
                  (
                  n
                  )
                
              
            
            =
            
              
                
                  ∑
                  
                    i
                    =
                    
                      -
                      ∞
                    
                  
                  ∞
                
                ⁢
                
                  
                
                ⁢
                
                  
                    h
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                  ·
                  
                    x
                    ⁡
                    
                      (
                      
                        n
                        -
                        i
                      
                      )
                    
                  
                
              
              +
              
                w
                ⁡
                
                  (
                  n
                  )
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          1
          )
        
      
    
  




where

    
    
        x(n) is the signal component of interest for wireless device 120,
        h(n) is an impulse response of the wireless channel between base station 110 and wireless device 120,
        w(n) is the total noise and interference observed by the desired signal x(n),
        y(n) is the input samples at wireless device 120, and
         denotes a convolution.
    
    


In equation (1), w(n) includes signal components for the other physical channels from base station 110, noise from various sources, and interference from other transmitting stations. For simplicity, w(n) is assumed to be additive white Gaussian noise (AWGN) with zero mean and a variance of σ2.
Equation (1) may be expressed in the frequency domain as follows:

Y(ω)=H(ω)·X(ω)+W(ω),  Eq (2)

where Y(ω), H(ω), X(ω) and W(ω) are frequency-domain representations of y(n), h(n), x(n) and w(n), respectively. A frequency-domain representation may be obtained by taking a discrete Fourier transform (DFT) or a fast Fourier transform (FFT) of a time-domain representation. A time-domain representation may be obtained by taking an inverse discrete Fourier transform (IDFT) or an inverse fast Fourier transform (IFFT) of a frequency-domain representation. For simplicity, the desired signal X(ω) is assumed to be white with unit power. The whiteness assumption is reasonable because of the scrambling with the pseudo-random scrambling sequence sp(n) at base station 110.

An estimate of the desired signal X(ω) may be obtained based on a linear minimum mean square error (LMMSE) technique, as follows:




  
    
      
        
          
            
              X
              ^
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                
                  
                    H
                    *
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                
                  
                    
                      
                      
                        H
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      
                    
                    2
                  
                  +
                  
                    σ
                    2
                  
                
              
              ·
              
                Y
                ⁡
                
                  (
                  ω
                  )
                
              
            
            =
            
              
                C
                ⁡
                
                  (
                  ω
                  )
                
              
              ·
              
                Y
                ⁡
                
                  (
                  ω
                  )
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          3
          )
        
      
    
  




where C(ω) is an LMMSE filter response, {circumflex over (X)}(ω) is an estimate of X(ω), and “*” denotes a complex conjugate. As shown in equation (3), when σ2≈0 for high geometry, the LMMSE filter response becomes C(ω)≈1/H(ω), and the LMMSE filter inverts the channel. This results in elimination of multipaths. When σ2 is large for low geometry, the LMMSE filter response becomes C(ω)=H*(ω)/σ2, and the LMMSE filter performs matched filtering and is equivalent to a rake receiver.

The LMMSE filtering in (3) may also be performed in the time domain by convolving the input samples with a finite impulse response (FIR) filter having a frequency response of C(ω), as follows:




  
    
      
        
          
            
              x
              ^
            
            ⁡
            
              (
              n
              )
            
          
          =
          
            
              
                c
                ⁡
                
                  (
                  n
                  )
                
              
              ⊗
              
                y
                ⁡
                
                  (
                  n
                  )
                
              
            
            =
            
              
                ∑
                
                  i
                  =
                  1
                
                
                  2
                  ⁢
                  
                    
                  
                  ⁢
                  L
                
              
              ⁢
              
                
              
              ⁢
              
                
                  c
                  ⁡
                  
                    (
                    i
                    )
                  
                
                ·
                
                  y
                  ⁡
                  
                    (
                    
                      n
                      -
                      i
                    
                    )
                  
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          4
          )
        
      
    
  




where c(n) and {circumflex over (x)}(n) are time-domain representations of C(ω) and {circumflex over (X)}(ω), respectively, and 2L is the length of the FIR filter.

The received signal may be sampled at multiple (M) times the chip rate to obtain an over-sampled signal with M input samples for M sampling time instants in each chip period, where in general M>1. The M sampling time instants may be evenly spaced apart across a chip period and separated by Tc/M, where Tc is one chip period. The over-sampled signal may be demultiplexed or sub-sampled to obtain M sub-sampled signals. Each sub-sampled signal contains input samples for one sampling time instant. The input samples for each sub-sampled signal are separated by one chip period. The quality of the sampled data is affected by the sampling time instant. Hence, the M sub-sampled signals may have different qualities and may be processed as described below to obtain an improved estimate of the transmitted signal.
The over-sampled signal is not stationary, but the M sub-sampled signals are stationary, which means that the statistics of the sub-sampled signals do not change if the origin or start of these signals is shifted. This stationary property of the sub-sampled signals may be exploited to derive equalizer coefficients that can provide a good estimate of the transmitted signal. The M sub-sampled signals may be viewed as M diversity branches, or simply, branches. Each branch corresponds to a different sampling time instant. The equalization techniques described herein may be used with any amount of oversampling. For clarity, the equalization techniques are specifically described below for the case in which the received signal is over-sampled at twice the chip rate (or Chipx2) to obtain input samples at Chipx2. Equalization may be performed on the Chipx2 input samples as described below.
FIG. 4 shows a block diagram of an embodiment of equalizer 260 in FIG. 2. For this embodiment, the Chipx2 input samples y(n) are provided to a channel estimator 410 and a sub-sampler 414. Channel estimator 410 derives a channel impulse response estimate h(n) for the wireless channel between base station 110 and wireless device 120. The channel impulse response estimate h(n) is over-sampled and contains 2L channel taps that are separated by half chip period. A sub-sampler 412 demultiplexes the over-sampled channel taps h(n) into on-time channel taps h1(n) and late channel taps h2(n) for two sampling time instants. Similarly, sub-sampler 414 demultiplexes the Chipx2 input samples y(n) into on-time samples y1(n) and late samples y2(n) for the two sampling time instants. A covariance estimator 416 determines the covariance of the on-time and late samples as described below and provides covariance values.
A computation unit 420 receives the on-time and late channel taps from sub-sampler 412 and the covariance values from estimator 416. Computation unit 420 derives equalizer coefficients c1(n) and c2(n) for the two sampling time instants based on the channel taps and the covariance values, as described below. A FIR filter 430 filters the on-time and late samples y1(n) and y2(n) with the equalizer coefficients c1(n) and c2(n) and provides output samples {circumflex over (x)}(n) at chip rate (or Chipx1).
FIG. 5A shows a block diagram of an embodiment of sub-sampler 414 in FIG. 4. Within sub-sampler 414, the Chipx2 input samples y(n) are provided to a delay unit 510 and a down-sampler 514. Delay unit 510 provides a delay of half chip period. A down-sampler 512 provides every other sample from delay unit 510 as the on-time samples y1(n). Down-sampler 514 provides every other input samples as the late samples y2(n). The on-time samples y1(n) and the late samples y2(n) are for two sampling time instants or branches and comprise all of the Chipx2 input samples y(n).
FIG. 5B shows the on-time samples y1(n) and late samples y2(n) from sub-sampler 414. The on-time samples y1(n) are offset by half chip period from the late samples y2(n).
Referring back to FIG. 4, channel estimator 410 may derive a channel impulse response estimate based on the pilot transmitted by base station 110. In an embodiment, the channel impulse response estimate ĥ(n) may be derived as follows:




  
    
      
        
          
            
              h
              ^
            
            ⁡
            
              (
              n
              )
            
          
          =
          
            
              ∑
              
                i
                =
                0
              
              
                K
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                y
                ⁡
                
                  (
                  
                    n
                    +
                    
                      2
                      ⁢
                      
                        
                      
                      ⁢
                      i
                    
                  
                  )
                
              
              ·
              
                
                  o
                  p
                
                ⁡
                
                  (
                  i
                  )
                
              
              ·
              
                
                  s
                  p
                  *
                
                ⁡
                
                  (
                  i
                  )
                
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            n
          
          =
          1
        
        ,
        ...
        ⁢
        
          
        
        ,
        
          2
          ⁢
          
            
          
          ⁢
          L
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          5
          )
        
      
    
  




where K is an accumulation length, which is an integer multiple of the length of the orthogonal code used for the pilot. The OVSF code for the pilot in W-CDMA has a length of 256 chips, and the Walsh code for the pilot in cdma2000 has a length of 128 chips. For equation (5), the channel tap at index n is obtained by descrambling the input samples with the scrambling sequence sp(n), despreading the descrambled samples with the pilot OVSF code op(n), and accumulating over K chip periods. The channel impulse response estimate may also be derived in other manners known in the art. For simplicity, the following description assumes no channel estimation error, so that ĥ(n)=h(n).

Sub-sampler 412 demultiplexes the 2L channel taps of the channel impulse response estimate h(n) into L on-time channel taps h1(n) and L late channel taps h2(n). Sub-sampler 412 may be implemented in the same manner as sub-sampler 414 in FIG. 5A. The on-time channel taps h1(n) represent the channel impulse response estimate for the on-time samples y1(n). The late channel taps h2(n) represent the channel impulse response estimate for the late samples y2(n).
A Chipx2 system may be considered as having a single-input multiple-output (SIMO) channel. The on-time and late samples may then be expressed as:

y1(n)=h1(n)x1(n)+w1(n), and

y2(n)=h2(n)x2(n)+w2(n),  (6)

where w1(n) and w2(n) are the total noise and interference for the on-time and late samples, respectively. In general, y1(n) and y2(n) are jointly wide-sense stationary, which means that (1) the statistics of each sub-sampled signal is independent of any shift in time and (2) the joint statistics of y1(n) and y2(n) are also independent of time. Equation set (6) may be expressed in the frequency domain as follows:

Y1(ω)=H1(ω)·X1(ω)+W1(ω), and

Y2(ω)=H2(ω)·X2(ω)+W2(ω).  Eq (7)

Various equalization schemes may be used for the on-time and late samples shown in equation sets (6) and (7). Table 1 lists some equalization schemes and a short description for each scheme. Each equalization scheme is described in detail below.








TABLE 1





Equalization Scheme
Description







Selective equalization
Perform equalization on the best branch and



ignore the other branch.


Separate equalization
Perform equalization on each branch separately


and combining
and combine the results for both branches.


Joint equalization
Perform equalization on both branches jointly.









For the first two equalization schemes in Table 1, equalization may be performed for a given branch based on an LMMSE filter derived for that branch. The LMMSE filter for each branch m may be expressed as:




  
    
      
        
          
            
              C
              m
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                
                  H
                  m
                  *
                
                ⁡
                
                  (
                  ω
                  )
                
              
              
                
                  
                    
                    
                      
                        H
                        m
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                    
                  
                  2
                
                +
                
                  σ
                  2
                
              
            
            =
            
              
                
                  H
                  m
                  *
                
                ⁡
                
                  (
                  ω
                  )
                
              
              
                
                  R
                  mm
                
                ⁡
                
                  (
                  ω
                  )
                
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            m
          
          =
          1
        
        ,
        2
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          8
          )
        
      
    
  




where Hm(ω) is a DFT/FFT of hm(n), and

    
    
        Rmin(ω) is a DFT/FFT of (τ), which is an auto-correlation of ym(n).
    
    


Covariance estimator 416 in FIG. 4 may estimate the covariance of y1(n) and y2(n), as follows:




  
    
      
        
          
            
              R
              ij
            
            ⁡
            
              (
              τ
              )
            
          
          =
          
            
              ∑
              
                n
                =
                1
              
              K
            
            ⁢
            
              
                
                  y
                  i
                
                ⁡
                
                  (
                  n
                  )
                
              
              ·
              
                
                  y
                  j
                  *
                
                ⁡
                
                  (
                  
                    n
                    -
                    τ
                  
                  )
                
              
            
          
        
        ,
        
          for
          ⁢
          
            
          
          ⁢
          i
        
        ,
        
          j
          ∈
          
            {
            
              1
              ,
              2
            
            }
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          9
          )
        
      
    
  




where (τ) denotes the covariance between yi(n) and yj(n−τ), which is a time-shifted version of yj(n). As used herein, “covariance” covers both auto-correlation of a given sub-sampled signal ym(n) and cross-correlation between two sub-sampled signals y1(n) and y2(n). (τ) may be derived for pertinent values of i and j and may also be derived for a range of time offsets, e.g., τ=−L/2+1, . . . , L/2−1. For auto-correlation, (τ) is symmetric so that (−τ)=. Hence, (τ) may be derived for τ=0, . . . , L/2−1. The covariance may also be estimated in other manners known in the art.

FIG. 6 shows a block diagram of an equalizer coefficient computation unit 420a for the selective equalization scheme. Computation unit 420a is an embodiment of computation unit 420 in FIG. 4.
Within unit 420a, an energy computation unit 610 receives the on-time and late channel taps h1(n) and h2(n) and computes the energy Em of the channel taps for each branch m, as follows:




  
    
      
        
          
            E
            m
          
          =
          
            
              
                
                
                  
                    h
                    m
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                
              
              2
            
            =
            
              
                ∑
                
                  n
                  =
                  1
                
                L
              
              ⁢
              
                
                  
                  
                    
                      h
                      m
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  
                
                2
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            m
          
          =
          1
        
        ,
        2.
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          10
          )
        
      
    
  




Unit 610 determines the best branch r as the branch with the largest energy, as follows:




  
    
      
        
          r
          =
          
            arg
            (
            
              
                max
                m
              
              ⁢
              
                {
                
                  E
                  m
                
                }
              
            
            )
          
        
        ,
        
          
            where
            ⁢
            
              
            
            ⁢
            r
          
          ∈
          
            
              {
              
                1
                ,
                2
              
              }
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          11
          )
        
      
    
  




A selector 612 receives the on-time channel taps h1(n) and the late channel taps h2(n) and provides the channel taps hr(n) for the best branch r. An FFT unit 614 transforms the L channel taps hr(n) to the frequency domain with an L-point FFT and provides L channel gains H2(ω), for ω=1, . . . , L, for the best branch r. Similarly, a selector 616 receives the covariance values (τ) for the on-time samples and the covariance values (τ) for the late samples and provides the covariance values (τ) for the best branch r. An FFT unit 618 performs an L-point FFT on the covariance values, which may be arranged as {(0), . . . , (L/2−1), 0, (L/2−1), . . . , (1)}, where a zero is inserted to obtain L values for the FFT. FFT unit 618 provides L frequency-domain covariance values Rrr(ω), for ω=1, . . . , L.
A computation unit 620 then computes frequency-domain equalizer coefficients Cr(ω) for the best branch r, as follows:




  
    
      
        
          
            
              C
              r
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                H
                r
                *
              
              ⁡
              
                (
                ω
                )
              
            
            
              
                R
                rr
              
              ⁡
              
                (
                ω
                )
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            ω
          
          =
          1
        
        ,
        ...
        ⁢
        
          
        
        ,
        
          L
          .
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          12
          )
        
      
    
  




Since Rrr(ω) is in the denominator, a small value for Rrr(ω) results in a large value for Cr(ω). Unit 620 may condition Rrr(ω) prior to computing for Cr(ω). For example, unit 620 may determine the largest value of Rrr(ω) as





  
    M
    =
    
      
        max
        ω
      
      ⁢
      
        {
        
          
            R
            rr
          
          ⁡
          
            (
            ω
            )
          
        
        }
      
    
  
  ,




identify all frequency bins ω having small values of Rrr(ω), e.g., Rrr(ω)≦0.01×M, and set Cr(ω)=0 for all identified frequency bins. Alternatively, unit 620 may constrain Rrr(ω) to be greater than or equal to a predetermined value, e.g., Rrr(ω)≧0.01×M.

An IFFT unit 622 performs an L-point IFFT on the L frequency-domain equalizer coefficients Cr(ω) and provides L time-domain equalizer coefficients cr(n) for the best branch r. A mapper 624 maps the equalizer coefficients cr(n) for the best branch r to either branch 1 or 2 and provides zeroed-out equalizer coefficients for the other branch, as follows:

c1(n)=cr(n) and c2(n)=0 if r=1, and

c1(n)=0 and c2(n)=cr(n) if r=2.  Eq (13)

Referring back to FIG. 4, FIR filter 430 may filter the on-time and late samples based on the equalizer coefficients, as follows:




  
    
      
        
          
            
              
                
                  
                    x
                    ^
                  
                  ⁡
                  
                    (
                    n
                    )
                  
                
                =
                
                  
                    
                      
                        c
                        1
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                    ⊗
                    
                      
                        y
                        1
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                  +
                  
                    
                      
                        c
                        2
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                    ⊗
                    
                      
                        y
                        2
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                
              
              ,
            
          
        
        
          
            
              =
              
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    L
                  
                  ⁢
                  
                    
                      
                        c
                        1
                      
                      ⁡
                      
                        (
                        i
                        )
                      
                    
                    ·
                    
                      
                        y
                        1
                      
                      ⁡
                      
                        (
                        
                          n
                          -
                          i
                        
                        )
                      
                    
                  
                
                +
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    L
                  
                  ⁢
                  
                    
                      
                        c
                        2
                      
                      ⁡
                      
                        (
                        i
                        )
                      
                    
                    ·
                    
                      
                        
                          y
                          2
                        
                        ⁡
                        
                          (
                          
                            n
                            -
                            i
                          
                          )
                        
                      
                      .
                    
                  
                
              
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          14
          )
        
      
    
  




All of the quantities in equation (14) are at the chip rate. For the selective equalization scheme, only equalizer coefficients c1(n) or c2(n) are non-zero, and only the on-time or late samples are filtered to generate the output samples {circumflex over (x)}(n).

FIG. 7 shows a process 700 for performing equalization selectively for the best branch. A channel impulse response estimate h(n) for a wireless channel is derived, e.g., based on a received pilot (block 712). Multiple (M) channel impulse response estimates h1(n) through hM(n) for M sampling time instants are derived based on (e.g., by sub-sampling) the channel impulse response estimate h(n) (block 714). M may be equal to two, as described above, or may be greater than two. The M sampling time instants correspond to M different branches. One sampling time instant is selected from among the M sampling time instants and denoted as sampling time instant r (block 716). The selection of the best sampling time instant may be achieved by computing the energy of the channel taps for each sampling time instant and comparing the energies for the M sampling time instants to determine the sampling time instant with the largest energy.
A channel frequency response estimate Hr(ω) for the selected sampling time instant is derived based on (e.g., by performing an FFT on) the channel impulse response estimate hr(n) for the selected sampling time instant (block 718). Time-domain covariance values (τ) for input samples yr(n) for the selected sampling time instant are determined, e.g., as shown in equation (9) (block 720). Frequency-domain covariance values Rrr(ω) are determined based on (e.g., by performing an FFT on) the time-domain covariance values (τ) (block 722). Frequency-domain equalizer coefficients Cr(ω) for the selected sampling time instant are then derived based on the channel frequency response estimate Hr(ω) and the frequency-domain covariance values Rrr(ω) (block 724). The equalizer coefficients may be computed based on the LMMSE technique, as shown in equation (12), or based on some other equalization technique. Time-domain equalizer coefficients cr(n) for the selected sampling time instant are determined based on (e.g., by performing an IFFT on) the frequency-domain equalizer coefficients Cr(ω) (block 726). The input samples yr(n) for the selected sampling time instant are filtered with the time-domain equalizer coefficients cr(n) (block 728).
FIG. 8A shows a block diagram of an equalizer coefficient computation unit 420b for the separate equalization with combining scheme. Computation unit 420b performs equal combining of the two branches and is another embodiment of computation unit 420 in FIG. 4.
Within unit 420b, an FFT unit 810 transforms the on-time channel taps h1(n) with an L-point FFT and provides L channel gains H1(ω) for branch 1. An FFT unit 812 transforms the late channel taps h2(n) with an L-point FFT and provides L channel gains H2(ω) for branch 2. An FFT unit 814 performs an L-point FFT on time-domain covariance values (τ) for branch 1, which may be arranged as {(0), . . . , (L/2−1), 0, (L/2−1), . . . , (1)}, and provides L frequency-domain covariance values R11(ω), for ω=1, . . . L. An FFT unit 816 performs an L-point FFT on time-domain covariance values (τ) for branch 2, which may be arranged as {(0), . . . , (L/2−1), 0, (L/2−1), . . . , (1)}, and provides L covariance values R22(ω), for ω=1, . . . , L.
A computation unit 820 computes frequency-domain equalizer coefficients C1(ω) for branch 1 based on the channel gains H1(ω) and the covariance values R11(ω) for branch 1, e.g., as shown in equation (12). Similarly, a computation unit 822 computes frequency-domain equalizer coefficients C2(ω) for branch 2 based on the channel gains H2(ω) and the covariance values R22(ω) for branch 2. An IFFT unit 830 performs an L-point IFFT on the L frequency-domain equalizer coefficients C1(ω) and provides L time-domain equalizer coefficients c1(n) for branch 1. An IFFT unit 832 performs an L-point IFFT on the L frequency-domain equalizer coefficients C2(ω) and provides L time-domain equalizer coefficients c2(n) for branch 2. The equalizer coefficients c1(n) and c2(n) are used to filter the on-time samples y1(n) and the late samples c2(n), as shown in equation (14).
FIG. 8B shows a block diagram of an equalizer coefficient computation unit 420c for the separate equalization with combining scheme. Computation unit 420c performs weighted combining of the two branches and is yet another embodiment of computation unit 420 in FIG. 4. Computation unit 420c includes FFT units 810, 812, 814 and 816, coefficient computation units 820 and 822, and IFFT units 830 and 832 that operate as described above for FIG. 8A. Computation unit 420c further includes weight computation units 824 and 826 and multipliers 834 and 836.
Unit 824 receives the on-time channel taps h1(n) and computes the weight for branch 1. Unit 826 receives the late channel taps h2(n) and computes the weight for branch 2. The weight qm for each branch m may be computed as follows:




  
    
      
        
          
            q
            m
          
          =
          
            
              
                
                  
                  
                    
                      h
                      m
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  
                
                2
              
            
            =
            
              
                (
                
                  
                    ∑
                    
                      n
                      =
                      1
                    
                    L
                  
                  ⁢
                  
                    
                      
                      
                        
                          h
                          m
                        
                        ⁡
                        
                          (
                          n
                          )
                        
                      
                      
                    
                    2
                  
                
                )
              
              
                1
                /
                2
              
            
          
        
        ,
        
          
            for
            ⁢
            
              
            
            ⁢
            m
          
          =
          1
        
        ,
        2.
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          15
          )
        
      
    
  




In equation (15), the scaling by L is omitted since both branches are affected by the same scaling.

The coefficients for each branch are scaled by the weight for that branch. For the embodiment shown in FIG. 8B, the scaling is performed on the time-domain equalizer coefficients. Multiplier 834 is located after IFFT unit 830, scales each time-domain equalizer coefficient c1′(n) from FFT unit 830 with the weight q1 for branch 1, and provides L output equalizer coefficients c1(n) for branch 1. Similarly, multiplier 836 is located after IFFT unit 832, scales each time-domain coefficient c2′(n) from FFT unit 832 with the weight q2 for branch 2, and provides L output equalizer coefficients c2(n) for branch 2. In another embodiment, which is not shown in FIG. 8B, the scaling is performed on the frequency-domain equalizer coefficients Cm(ω). For this embodiment, multipliers 834 and 836 would be located after computation units 820 and 822, respectively.
FIG. 9 shows a process 900 for performing equalization separately for each branch and combining the results. A channel impulse response estimate h(n) for a wireless channel is derived, e.g., based on a received pilot (block 912). A first channel impulse response estimate h1(n) for a first sampling time instant and a second channel impulse response estimate h2(n) for a second sampling time instant are derived based on (e.g., by sub-sampling) the channel impulse response estimate h(n) (block 914). A first channel frequency response estimate H1(ω) for the first sampling time instant is derived based on (e.g., by performing an FFT on) the first channel impulse response estimate h1(n) (block 916). A second channel frequency response estimate H2(ω) for the second sampling time instant is derived based on the second channel impulse response estimate h2(n) (also block 916). Time-domain covariance values (τ) for input samples y1(n) for the first sampling time instant and time-domain covariance values (τ) for input samples y2(n) for the second sampling time instant are determined (block 918). Frequency-domain covariance values R11(ω) for the first sampling time instant are determined based on (e.g., by performing an FFT on) the time-domain covariance values (τ) (block 920). Frequency-domain covariance values R22(ω) for the second sampling time instant are determined based on the time-domain covariance values (τ) (also block 920). Frequency-domain equalizer coefficients C1(ω) for the first sampling time instant are derived based on the channel frequency response estimate H1(ω) and the frequency-domain covariance values R11(ω) (block 922). Frequency-domain equalizer coefficients C2(ω) for the second sampling time instant are derived based on the channel frequency response estimate H2(ω) and the frequency-domain covariance values R22(ω) (also block 922). The equalizer coefficients may be computed based on the LMMSE technique, as shown in equation (12), or based on some other equalization technique.
Time-domain equalizer coefficients c1′(n) for the first sampling time instant are determined based on (e.g., by performing an IFFT on) the frequency-domain equalizer coefficients C1(ω) (block 924). Time-domain equalizer coefficients c2′(n) for the second sampling time instant are determined based on the frequency-domain equalizer coefficients C2(ω) (also block 924). The time-domain equalizer coefficients c1′(n) for the first sampling time instant are scaled by a first weight q1 to obtain output equalizer coefficient c1(n) (block 926). The time-domain equalizer coefficients c2′(n) for the second sampling time instant are scaled by a second weight q2 to obtain output equalizer coefficient c2(n) (also block 926). The first and second weights may be equal or may be derived based on the energies of h1(n) and h2(n), respectively. The input samples are filtered with the output equalizer coefficients c1(n) and c2(n) (block 928).
FIG. 10 shows a block diagram of an equalizer coefficient computation unit 420d for the joint equalization scheme. Computation unit 420d is yet another embodiment of computation unit 420 in FIG. 4.
Within unit 420d, an FFT unit 1010 transforms the on-time channel taps h1(n) and provides L channel gains H1(ω) for branch 1. An FFT unit 1012 transforms the late channel taps h2(n) and provides L channel gains H2(ω) for branch 2. An FFT unit 1014 performs an L-point FFT on time-domain covariance values R11(τ), which may be arranged as {(0), . . . , (L/2−1), 0, (L/2−1), . . . , (1)}, and provides L frequency-domain covariance values R11(ω), for ω=1, . . . , L. An FFT unit 1016 performs an L-point FFT on time-domain covariance values R22(τ), which may be arranged as {(0), . . . , (L/2−1), 0, (L/2−1), . . . , (1)}, and provides L covariance values R22(ω), for ω=1, . . . , L. An FFT unit 1018 performs an L-point FFT on L time-domain covariance values R12(τ), which may be arranged as {(0), . . . , (L/2−1), 0, (−L/2+1), . . . , (−1)}, and provides L covariance values R12(ω), for ω=1, . . . , L.
A computation unit 1020 jointly computes the frequency-domain equalizer coefficients C1(ω) and C2(ω) for branches 1 and 2, as described below. An IFFT unit 1030 transforms the frequency-domain equalizer coefficients C1(ω) and provides time-domain equalizer coefficients c1(n) for branch 1. An IFFT unit 1032 transforms the frequency-domain equalizer coefficients C2(ω) and provides time-domain equalizer coefficients c2(n) for branch 2.
For the joint equalization scheme, the on-time and late samples y1(n) and y2(n) are equalized with two sets of equalizer coefficients c1(n) and c2(n) that are derived jointly such that the output samples {circumflex over (x)}(n) in equation (14) provide the best linear approximation of x(n) in the mean square error sense. The LMMSE solutions for the two sets of equalizer coefficients may be expressed in the frequency domain, as follows:




  
    
      
        
          [
          
            
              
                
                  
                    C
                    1
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
            
              
                
                  
                    C
                    2
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
          
          ]
        
        =
        
          
            
              [
              
                
                  
                    
                      
                        R
                        11
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                  
                    
                      
                        R
                        12
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        R
                        21
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                  
                    
                      
                        R
                        22
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            
              -
              1
            
          
          ·
          
            
              [
              
                
                  
                    
                      
                        H
                        1
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        H
                        2
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          16
          )
        
      
    
  




Since R21(ω)=R12*(ω), it is sufficient to estimate just R11(τ), R22(τ) and R12(τ).

In equation (16), L 2×2 matrices are formed for ω=1, . . . , L. Each 2×2 matrix may be inverted and used to derive the equalizer coefficients C1(ω) and C2(ω) for one frequency bin ω. A given 2×2 matrix may be poorly conditioned, e.g., close to singular because of estimation errors. The inversion of a poorly conditioned matrix may produce a large entry that may excessively enhance noise. Several techniques may be used to deal with poorly conditioned matrices.
In a first embodiment, the joint processing of the two branches is performed with “diagonal” conditioning. For this embodiment, the time-domain covariance values for branches 1 and 2 are conditioned by setting (0)=β·(0) and (0)=β·(0), where β>1.0 and may be selected as, e.g., β=1.05. This scaling for a single tap of (τ) introduces a small spectral component in each frequency bin of (ω), which makes the frequency domain matrices “more invertible”. FFTs are then performed on the conditioned (τ) and (τ).
Computation unit 1020 may then compute the frequency-domain equalizer coefficients C1(ω) and C2(ω) for branches 1 and 2, respectively, as follows:




  
    
      
        
          [
          
            
              
                
                  
                    C
                    1
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
            
              
                
                  
                    C
                    2
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
          
          ]
        
        =
        
          
            1
            
              
                
                  
                    R
                    11
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                
                  
                    R
                    22
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
              -
              
                
                  
                  
                    
                      R
                      12
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                  
                
                2
              
            
          
          ·
          
            [
            
              
                
                  
                    
                      R
                      22
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                
                  
                    -
                    
                      
                        R
                        12
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              
                
                  
                    -
                    
                      
                        R
                        12
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      R
                      11
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
            
            ]
          
          ·
          
            
              [
              
                
                  
                    
                      
                        H
                        1
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        H
                        2
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          17
          )
        
      
    
  




The scaling of (0) and (0) by β results in a small amount of distortion that is negligible.

In a second embodiment, the joint processing of the two branches is performed with “pseudo-inverse” conditioning. For this embodiment, the equalizer coefficients C1(ω) and C2(ω) for each frequency bin ω may be computed in one of several manners depending on whether or not the 2×2 matrix for that frequency bin is poorly conditioned.
For each frequency bin ω, the following condition is determined.

R11(ω)R22(ω)−R12(ω)|2≦0.05[|R11(ω)+R22(ω)]2.  Eq (18)

Equation (18) checks if a “condition number” of the 2×2 matrix for frequency bin ω is below a certain value. This condition may be used to determine whether or not the 2×2 matrix is poorly conditioned.

For each frequency bin ω in which the 2×2 matrix is not poorly conditioned, which is indicated by the condition in equation (18) holding, the frequency-domain equalizer coefficients C1(ω) and C2(ω) for that frequency bin may be computed as shown in equation (17).
For each frequency bin win which the 2×2 matrix is poorly conditioned, which is indicated by the condition in equation (18) not holding, the frequency-domain equalizer coefficients C1(ω) and C2(ω) for that frequency bin may be computed as follows. The following quantities are computed for frequency bin ω:




  
    
      
        
          
            
              λ
              max
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                R
                11
              
              ⁡
              
                (
                ω
                )
              
            
            +
            
              
                R
                22
              
              ⁡
              
                (
                ω
                )
              
            
            +
            
              0.5
              ·
              
                
                  
                    
                      [
                      
                        
                          
                            R
                            11
                          
                          ⁡
                          
                            (
                            ω
                            )
                          
                        
                        -
                        
                          
                            R
                            22
                          
                          ⁡
                          
                            (
                            ω
                            )
                          
                        
                      
                      ]
                    
                    2
                  
                  +
                  
                    4
                    ⁢
                    
                      
                        R
                        12
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
            
          
        
        ,
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          19
          )
        
      
    
  
  
    
      
        
          
        
        ⁢
        
          
            
              υ
              ⁡
              
                (
                ω
                )
              
            
            =
            
              
                
                  
                    λ
                    max
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                -
                
                  
                    R
                    11
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
              
                
                  R
                  12
                  *
                
                ⁡
                
                  (
                  ω
                  )
                
              
            
          
          ,
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          20
          )
        
      
    
  




where λmax(ω) is the largest eigenvalue of the 2×2 matrix for frequency bin ω, and

ν(ω) is a component of an eigenvector [1ν(ω)]T of the 2×2 matrix.
The frequency-domain equalizer coefficients C1(ω) and C2(ω) for frequency bin ω may then be computed as follows:




  
    
      
        
          [
          
            
              
                
                  
                    C
                    1
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
            
              
                
                  
                    C
                    2
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
          
          ]
        
        =
        
          
            1
            
              
                
                  λ
                  max
                
                ⁡
                
                  (
                  ω
                  )
                
              
              ·
              
                (
                
                  1
                  +
                  
                    
                      
                      
                        υ
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      
                    
                    2
                  
                
                )
              
            
          
          ·
          
            [
            
              
                
                  1
                
                
                  
                    υ
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
              
                
                  
                    
                      υ
                      *
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                
                  
                    
                      
                      
                        υ
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      
                    
                    2
                  
                
              
            
            ]
          
          ·
          
            
              [
              
                
                  
                    
                      
                        H
                        1
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        H
                        2
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          21
          )
        
      
    
  




Equation (21) essentially nulls out the smaller eigenvalue of the 2×2 matrix and takes the pseudo-inverse of the resultant matrix.

Equation (21) may be approximated as follows:




  
    
      
        
          [
          
            
              
                
                  
                    C
                    1
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
            
              
                
                  
                    C
                    2
                  
                  ⁡
                  
                    (
                    ω
                    )
                  
                
              
            
          
          ]
        
        =
        
          
            1
            
              
                [
                
                  
                    
                      R
                      11
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                  +
                  
                    
                      R
                      22
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                ]
              
              2
            
          
          ·
          
            [
            
              
                
                  
                    
                      R
                      11
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                
                  
                    
                      R
                      12
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
              
                
                  
                    
                      R
                      12
                      *
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                
                  
                    
                      R
                      22
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
            
            ]
          
          ·
          
            
              [
              
                
                  
                    
                      
                        H
                        1
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        H
                        2
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          22
          )
        
      
    
  




Equation (21) may also be approximated as follows:




  
    
      
        
          
            [
            
              
                
                  
                    
                      C
                      1
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
              
                
                  
                    
                      C
                      2
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
              
            
            ]
          
          =
          
            
              A
              ⁡
              
                (
                ω
                )
              
            
            ·
            
              [
              
                
                  
                    
                      
                        
                        
                          
                            R
                            12
                          
                          ⁡
                          
                            (
                            ω
                            )
                          
                        
                        
                      
                      2
                    
                  
                  
                    
                      
                        
                          R
                          22
                        
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      ·
                      
                        
                          R
                          12
                          *
                        
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                    
                  
                
                
                  
                    
                      
                        
                          R
                          22
                        
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      ·
                      
                        
                          R
                          12
                        
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                    
                  
                  
                    
                      
                        R
                        22
                        2
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
            ·
            
              [
              
                
                  
                    
                      
                        H
                        1
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
                
                  
                    
                      
                        H
                        2
                        *
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                
              
              ]
            
          
        
        ,
        
          

        
        ⁢
        
          
        
        ⁢
        
          
            where
            ⁢
            
              
            
            ⁢
            
              A
              ⁡
              
                (
                ω
                )
              
            
          
          =
          
            
              1
              
                
                  [
                  
                    
                      
                        R
                        11
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                    +
                    
                      
                        R
                        22
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                  ]
                
                ·
                
                  [
                  
                    
                      
                        R
                        22
                        2
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                    +
                    
                      
                        R
                        12
                        2
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                  ]
                
              
            
            .
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          23
          )
        
      
    
  




FIG. 11 shows a process 1100 for performing equalization jointly for multiple branches. A channel impulse response estimate h(n) for a wireless channel is derived, e.g., based on a received pilot (block 1112). First and second channel impulse response estimates h1(n) and h2(n) for first and second sampling time instants, respectively, are derived based on (e.g., by sub-sampling) the channel impulse response estimate h(n) (block 1114). First and second channel frequency response estimates H1(ω) and H2(ω) for the first and second sampling time instants are derived based on the first and second channel impulse response estimates h1(n) and h2(n), respectively (block 1116). Time-domain covariance values (τ), (τ) and (τ) for input samples y1(n) and y2(n) for the first and second sampling time instants are determined (block 1118). Frequency-domain covariance values R11(ω), R22(ω) and R12(ω) are determined based on the time-domain covariance values (τ), (τ) and (τ), respectively (block 1120).
Frequency-domain equalizer coefficients C1(ω) and C2(ω) for the first and second sampling time instants are derived jointly based on the first and second channel frequency response estimates H1(ω) and H2(ω) and the frequency-domain covariance values R11(ω), R22(ω) and R12(ω) (block 1122). The equalizer coefficients may be computed based on the LMMSE technique, as shown in equations (16) through (23), or based on some other equalization technique. Time-domain equalizer coefficients c1(n) and c2(n) for the first and second sampling time instants are determined based on the frequency-domain equalizer coefficients C1(ω) and C2(ω), respectively (block 1124). The input samples are then filtered with the time-domain equalizer coefficients c1(n) and c2(n) (block 1126).
FIG. 12 shows a process 1200 for performing equalization on an over-sampled input signal with sub-sampling. The over-sampled input signal is sub-sampled or demultiplexed to obtain multiple sub-sampled signals (block 1212). An over-sampled channel estimate is derived, e.g., based on a received pilot (block 1214). The over-sampled channel estimate may be a channel impulse response estimate that is over-sampled in time, a channel frequency response estimate that is over-sampled in frequency, and so on. The over-sampled channel estimate is sub-sampled to obtain multiple sub-sampled channel estimates (block 1216). Equalization is performed on the multiple sub-sampled signals with the multiple sub-sampled channel estimates to obtain at least one output signal. For the equalization, at least one set of equalizer coefficients may be derived based on at least one sub-sampled channel estimate using any of the equalization schemes described above (block 1218). The equalizer coefficients may be derived in the time domain or frequency domain. At least one sub-sampled signal is then filtered with the at least one set of equalizer coefficients to obtain the at least one output signal (block 1220).
FIG. 13 shows a process 1300 for performing equalization on an over-sampled input signal with equalizer coefficients derived in the frequency domain. A channel impulse response estimate is derived, e.g., based on a received pilot (block 1312). A channel frequency response estimate is derived based on (e.g., by performing an FFT on) the channel impulse response estimate (block 1314). For an LMMSE filter, time-domain covariance values for the input samples may be determined (block 1316) and transformed to obtain frequency-domain covariance values (block 1318). Frequency-domain equalizer coefficients are derived for multiple frequency bins based on the channel frequency response estimate and the frequency-domain covariance values (block 1320). Time-domain equalizer coefficients are derived based on (e.g., by performing an IFFT on) the frequency-domain equalizer coefficients (block 1322). The input samples are then filtered with the time-domain equalizer coefficients to obtain output samples (block 1324)
For clarity, the equalization techniques have been described mostly for the case in which the input samples y(n) are at Chipx2 and there are two branches corresponding to two sampling time instants. In general, the equalization techniques may be used for input samples that are over-sampled at multiple (M) times the chip rate, where M≧2. M branches may be formed for M sampling time instants. M sequences of input samples y1(n) through yM(n) for M sampling time instants may be obtained by sub-sampling or demultiplexing the over-sampled input samples y(n). M channel impulse response estimates h1(n) through hM(n) for M sampling time instants may be obtained by sub-sampling or demultiplexing an over-sampled channel impulse response estimate h(n) for the wireless channel. Covariance values , for i, jε{1, . . . , M}, may be derived based on the input samples y(n), e.g., as shown in equation (9).
For the selective equalization scheme, the best branch may be selected, e.g., based on the energies of the channel impulse response estimates for the M branches. Equalizer coefficients for the best branch may be derived based on the channel impulse response estimate and the covariance values for that branch. The input samples for the best branch are filtered with the equalizer coefficients for that branch.
For the separate equalization with combining scheme, a set of equalizer coefficients may be derived for each branch based on the channel impulse response estimate and the covariance values for that branch. The M sets of equalizer coefficients for the M branches may be scaled with equal weights for all M branches or different weights determined based on the energies for the M branches. The input samples are filtered with the M sets of equalizer coefficients for the M branches.
For the joint equalization scheme, M sets of equalizer coefficients for the M branches may be derived jointly based on the channel impulse response estimates and the covariance values for all M branches. The input samples are filtered with the M sets of equalizer coefficients for the M branches.
The channel impulse response estimate h(n), the covariance values (τ), and the equalizer coefficients cm(n) may be updated at a sufficient rate to achieve good performance. For example, h(n), (τ) and cm(n) may be updated whenever a new pilot symbol is received, whenever a predetermined number of pilot symbols is received, in each slot, in each frame, and so on. For W-CDMA, a pilot symbol is sent in 256 chips, each slot spans 2560 chips or 10 pilot symbols, and each frame includes 15 slots. For cdma2000, a pilot symbol is sent in 128 chips, each slot spans 768 chips or 6 pilot symbols, and each frame includes 16 slots.
For clarity, the equalization techniques have been described for a transmitter with a single antenna and a receiver with a single antenna. These techniques may also be used for a transmitter with multiple antennas and for a receiver with multiple antennas, as described below.
FIG. 14 shows a block diagram of a base station 112 with two transmit antennas 1432a and 1432b. Within base station 112, a TX data processor 1410 processes traffic data and generates data symbols. A CDMA modulator 1420 processes data and pilot symbols and generates output chips z1(n) and z2(n) for transmit antennas 1432a and 1432b, respectively.
Within CDMA modulator 1420, a physical channel processor 1422 processes data symbols for physical channel i and generates output chips x(n) for this physical channel. A pilot channel processor 1424 generates output chips p1(n) and p2(n) for the pilot for transmit antennas 1432a and 1432b, respectively. Processors 1422 and 1424 may be implemented with processors 310 and 320, respectively, in FIG. 3. A multiplier 1426a scales the output chips x(n) with a weight v1 for transmit antenna 1432a and generates scaled output chips x1(n). A multiplier 1426b scales the output chips x(n) with a weight v2 for transmit antenna 1432b and generates scaled output chips x2(n). A summer 1428a sums the output chips for all physical channels for transmit antenna 1432a and provides output chips z1(n). A summer 1428b sums the output chips for all physical channels for transmit antenna 1432b and provides output chips z2(n). A transmitter 1430a processes the output chips z1(n) and generates a first RF signal, which is transmitted from antenna 1432a. A transmitter 1430b processes the output chips z2(n) and generates a second RF signal, which is transmitted from antenna 1432b. A controller/processor 1440 directs operation at base station 112. A memory 1442 stores data and program codes for base station 112.
For closed-loop transmit diversity (CLTD), the weights v1 and v2 may be selected by wireless device 120 and sent back to base station 112. The weights v1 and v2 may be selected to maximize the received signal at wireless device 120. In general, the weights v1 and v2 may be derived by the wireless device and/or the base station in various manners.
At wireless device 120, the input samples y(n) may be expressed as:




  
    
      
        
          
            
              
                
                  y
                  ⁡
                  
                    (
                    n
                    )
                  
                
                =
                
                  
                    
                      [
                      
                        
                          
                            v
                            1
                          
                          ·
                          
                            
                              h
                              1
                            
                            ⁡
                            
                              (
                              n
                              )
                            
                          
                        
                        +
                        
                          
                            v
                            2
                          
                          ·
                          
                            
                              h
                              2
                            
                            ⁡
                            
                              (
                              n
                              )
                            
                          
                        
                      
                      ]
                    
                    ⊗
                    
                      x
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                  +
                  
                    w
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              ,
            
          
        
        
          
            
              
                =
                
                  
                    
                      
                        h
                        eff
                      
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                    ⊗
                    
                      x
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                  +
                  
                    w
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                
              
              ,
            
          
        
      
    
    
      
        Eq
        ⁢
        
          
        
        ⁢
        
          (
          24
          )
        
      
    
  




where

    
    
        h1(n) is an impulse response from antenna 1432a to wireless device 120,
        h2(n) is an impulse response from antenna 1432b to wireless device 120, and
        heff(n)=v1·h1(n)+v2·h2(n) is an effective impulse response for the wireless channel between base station 112 and wireless device 120.
    
    


A channel impulse response estimate h1(n) for transmit antenna 1432a may be derived based on the pilot p1(n) transmitted from this antenna. Similarly, a channel impulse response estimate h2(n) for transmit antenna 1432b may be derived based on the pilot p2(n) transmitted from this antenna. An effective channel impulse response estimate heff(n) may then be derived based on h1(n) and h2(n) and the known weights v1 and v2. heff(n) may also be derived in other manners.
The equalization techniques described above may be used with the effective channel impulse response estimate heff(n) instead of h(n). In particular, heff(n) may be sub-sampled to obtain effective channel impulse response estimates heff,1(n) through heff,M(n) for M branches corresponding to M sampling time instants. Equalization may be performed for the best branch, separately for the M branches and combined, or jointly for all M branches, as described above.
FIG. 15 shows a block diagram of a wireless device 122 with two receive antennas 1552a and 1552b. At wireless device 122, a receiver 1554a processes a first received RF signal from antenna 1552a and provides input samples y1(n) for this antenna. A receiver 1554b processes a second received RF signal from antenna 1552b and provides input samples y2(n) for this antenna. An equalizer 1560 performs equalization on the input samples y1(n) and y2(n) as described below and provides output samples {tilde over (x)}(n). A CDMA demodulator 1570 processes the output samples and provides symbol estimates. An RX data processor 1580 processes the symbol estimates and provides decoded data. A controller/processor 1590 directs operation at wireless device 122. A memory 1592 stores data and program codes for wireless device 122.
At wireless device 122, the input samples y1(n) from receiver 1554a and the input samples y2(n) from receiver 1554b may be expressed as:

y1(n)=h1(n)x(n)+w1(n), and

y2(n)=h2(n)x(n)+w2(n),  Eq (25)

where

    
    
        h1(n) is an impulse response from base station 110 to antenna 1552a, 
        h2(n) is an impulse response from base station 110 to antenna 1552b, and
        w1(n) and w2(n) are the total noise for antennas 1552a and 1552b, respectively.
    
    


A channel impulse response estimate h1(n) for receive antenna 1552a may be derived based on the pilot received via this antenna. Similarly, a channel impulse response estimate h2(n) for receive antenna 1552b may be derived based on the pilot received via this antenna. The input samples ya(n) for each receive antenna a may be sub-sampled to obtain input samples y1a(n) through yMa(n) for M branches for that antenna. If M=2, then the input samples for two branches for each receive antenna may be expressed as:

y11(n)=h11(n)x(n)+w11(n),

y21(n)=h21(n)x(n)+w21(n),

y12(n)=h12(n)x(n)+w12(n), and

y22(n)=h22(n)x(n)+w22(n),  Eq (26)

where

    
    
        y11(n) and y21(n) are obtained by sub-sampling y1(n) for antenna 1552a, 
        y12(n) and y22(n) are obtained by sub-sampling y2(n) for antenna 1552b, 
        h11(n) and h21(n) are obtained by sub-sampling h1(n) for antenna 1552a, and
        h12(n) and h22(n) are obtained by sub-sampling h2(n) for antenna 1552b. 
    
    


The equalization techniques described above may be applied to the input samples y11(n), y21(n), y12(n) and y22(n) for four branches formed by two sampling time instants and two receive antennas. For the selective equalization scheme, the best branch having the largest energy among the four branches may be selected for equalization. For the separate equalization with combining scheme, equalization may be performed separately for four branches, for two best branches among the four branches, for the best branch for each receive antenna, and so on. The results for all selected branches may be combined to generate the output samples {circumflex over (x)}(n). For the joint equalization scheme, equalization may be performed jointly for four branches, for two best branches among the four branches, for two best branches for the two receive antennas, and so on.
In an embodiment, the best branch is determined for each receive antenna, and equalization is performed for the two best branches for the two receive antennas. For this embodiment, the energy of each of the four branches may be determined, e.g., as shown in equation (10). For each receive antenna a, where a ε{1, 2} the branch with more energy is selected and denoted as r(a). Input samples yr(1)1(n) and yr(2)2(n) and channel impulse response estimates hr(1)1(n) and hr(2)2(n) may then be processed based on any of the equalization schemes described above to obtain the output samples {circumflex over (x)}(n).
FIG. 16 shows a block diagram of a base station 114 using space-time transmit diversity (STTD). Within base station 114, a TX data processor 1610 processes traffic data and generates data symbols s(l). A CDMA modulator 1620 processes data and pilot symbols and generates output chips z1(n) and z2(n) for two transmit antennas 1632a and 1632b. 
Within CDMA modulator 1620, an STTD encoder 1622 performs STTD encoding on data symbols s(l) and provides STTD encoded symbols s1(l) and s2(l) for transmit antennas 1632a and 1632b, respectively. If s(l)=s1, s2, s3, s4, . . . , where sl is a data symbol for symbol period l, then s1(l)=s1, s2, s3, s4, . . . , and s2(l)=−s*2, s*1, −s*4, s*3, . . . . Physical channel processors 1624a and 1624b process STTD encoded symbols s1(l) and s2(l), respectively, and provide output chips x1(n) and x2(n), respectively. A pilot channel processor 1626 generates output chips p1(n) and p2(n) for the pilot for transmit antennas 1632a and 1632b, respectively. Processors 1624 and 1626 may be implemented with processors 310 and 320, respectively, in FIG. 3. Summers 1628a and 1628b sum the output chips for all physical channels for transmit antennas 1632a and 1632b, respectively, and provide output chips z1(n) and z2(n), respectively. Transmitters 1630a and 1630b process the output chips z1(n) and z2(n), respectively, and generate two RF signals that are transmitted from antennas 1632a and 1632b, respectively. A controller/processor 1640 directs operation at base station 114. A memory 1642 stores data and program codes for base station 114.
At wireless device 120, the input samples y(n) may be expressed as:

y(n)=h1(n)x1(n)+h2(n)x2(n)+w(n),  Eq (27)

where h1(n) is an impulse response from antenna 1632a to wireless device 120, and h2(n) is an impulse response from antenna 1632b to wireless device 120.

A channel impulse response estimate h1(n) for transmit antenna 1632a may be derived based on the pilot p1(n) received from this antenna. A channel impulse response estimate h2(n) for transmit antenna 1632b may be derived based on the pilot p2(n) received from this antenna. If M=2, then h1(n) may be sub-sampled to obtain h11(n) and h21(n), h2(n) may be sub-sampled to obtain h12(n) and h22(n), and the input samples y(n) may be sub-sampled to obtain y1(n) and y2(n) for two branches. The desired signals x1(n) and x2(n) may be recovered in various manners.
In one embodiment, the desired signals x1(n) and x2(n) are recovered by performing equalization for the best sampling time instant. For this embodiment, the energy E1 for the first sampling time instant is computed as E1=∥h11(n)∥2+∥h12(n)∥2, the energy E2 for the second sampling time instant is computed as E2=∥21(n)∥2+∥h22(n)∥2, and the sampling time instant r with the larger energy is selected. Equalizer coefficients cr1(n) may be computed for transmit antenna 1632a and sampling time instant r based on hr1(n) and possibly covariance values. Similarly, equalizer coefficients cr2(n) may be computed for transmit antenna 1632b and sampling time instant r based on hr2(n) and possibly covariance values.
Input samples yr(n) for sampling time instant r are then filtered with the equalizer coefficients cr1(n) to obtain output samples {tilde over (x)}1(n), which are estimates of output chips cr1(n). The input samples yr(n) are also filtered with the equalizer coefficients cr1(n) to obtain output samples {tilde over (x)}2(n), which are estimates of output chips x2(n). CDMA demodulation may then be performed on the output samples {tilde over (x)}1(n) to obtain symbol estimates {tilde over (x)}1(l), which are estimates of the STTD encoded symbols s1(l) transmitted from antenna 1632a. CDMA demodulation may also be performed on the output samples {circumflex over (x)}2(n) to obtain symbol estimates ŝ2(l), which are estimates of the STTD encoded symbols s2(l) transmitted from antenna 1632b. STTD decoding may then be performed on ŝ1(l) and ŝ2(l) to obtain symbol estimates ŝ(l), which are estimates of data symbols s(l) for wireless device 120.
In another embodiment, x1(n) is recovered by treating x2(n) as noise, and x2(n) is recovered by treating x1(n) as noise. For this embodiment, the equalization to recover xb(n), for b ∈ {1, 2}, may be performed using any of the equalization schemes described above.
For clarity, the equalization techniques have been specifically described for an LMMSE filter and with the equalizer coefficients derived in the frequency domain. These techniques may also be used for other types of filters. In general, the equalizer coefficients may be derived in the time domain or frequency domain. Furthermore, the equalizer coefficients may be derived using various techniques such as LMMSE, least mean square (LMS), recursive least square (RLS), direct matrix inversion (DMI), zero-forcing, and other techniques. LMS, RLS, and DMI are described by Simon Haykin in a book entitled “Adaptive Filter Theory”, 3rd edition, Prentice Hall, 1996.
The equalization techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units used to perform equalization may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the equalization techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The firmware and/or software codes may be stored in a memory (e.g., memory 292 in FIG. 2) and executed by a processor (e.g., processor 290). The memory may be implemented within the processor or external to the processor.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

## Claims

1. An apparatus comprising:
a memory; and
a processor coupled to the memory, the processor configured to:
sub-sample a first input signal received at a first receive antenna to obtain a first set of sub-sampled signals;
sub-sample a second input signal received at a second receive antenna to obtain a second set of sub-sampled signals;
determine a first channel estimate, wherein the first channel estimate is associated with the first input signal received at the first receive antenna;
determine a second channel estimate, wherein the second channel estimate is associated with the second input signal received at the second receive antenna; and
perform equalization on the first set of sub-sampled signals and on the second set of sub-sampled signals, wherein the equalization is based on the first channel estimate and the second channel estimate.

2. The apparatus of claim 1, wherein the processor is configured to determine the first channel estimate by sub-sampling an over-sampled channel estimate, and wherein the over-sampled channel estimate comprises an over-sampled channel impulse response that is based on the first input signal.

3. The apparatus of claim 2, wherein the over-sampled channel estimate is for a wireless channel between a first transmit antenna and the first receive antenna.

4. The apparatus of claim 2, wherein the first input signal is over-sampled at a predetermined multiple of a chip rate, and wherein each of the first set of sub-sampled signals is sampled at the chip rate.

5. The apparatus of claim 1, wherein the processor is configured to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine a first set of equalizer coefficients based on the first channel estimate;
determine a second set of equalizer coefficients based on the second channel estimate;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal;
combine the first and second output signals.

6. The apparatus of claim 5, wherein one of the first set of equalizer coefficients and the second set of equalizer coefficients comprises all zeros.

7. The apparatus of claim 1, wherein the processor is configured to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine covariance values for the first input signal and the second input signal;
jointly derive first and second sets of equalizer coefficients based on the first and second channel estimates and based on the covariance values;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal; and
combine the first and second output signals.

8. The apparatus of claim 1, wherein the first channel estimate is associated with a first transmit antenna, and wherein the second channel estimate is associated with a second transmit antenna.

9. The apparatus of claim 8, wherein the processor is configured to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine a first set of equalizer coefficients based on the first channel estimate;
determine a second set of equalizer coefficients based on the second channel estimate;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal; and
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal.

10. The apparatus of claim 9, wherein the first input signal and the second input signal are associated with a data transmission sent with space-time transmit diversity (STTD), and wherein the processor is configured to perform STTD decoding on the first and second output signals.

11. The apparatus of claim 8, wherein the processor is configured to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine covariance values for the first and second transmit antennas;
jointly derive first and second sets of equalizer coefficients based on the first and second channel estimates and the covariance values;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal; and
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal.

12. The apparatus of claim 8, wherein the processor is configured to:
determine a weight to apply to of the first transmit antenna; and
send the weight to a transmitter associated with the first transmit antenna.

13. A method comprising:
sub-sampling a first input signal received at a first receive antenna to obtain a first set of sub-sampled signals;
sub-sampling a second input signal received at a second receive antenna to obtain a second set of sub-sampled signals;
determining a first channel estimate, wherein the first channel estimate is associated with the first input signal received at the first receive antenna;
determining a second channel estimate, wherein the second channel estimate is associated with the second input signal received at the second receive antenna; and
performing equalization on the first set of sub-sampled signals and on the second set of sub-sampled signals, wherein the equalization is based on the first channel estimate and the second channel estimate.

14. The method of claim 13, wherein determining the first channel estimate comprises sub-sampling an over-sampled channel estimate, and wherein the over-sampled channel estimate comprises an over-sampled channel impulse response that is based on the first input signal.

15. The method of claim 14, further comprising determining a first set of equalizer coefficients based on the first channel estimate, wherein performing the equalization on the first set of sub-sampled signals comprises filtering a first sub-sampled signal selected from the first set of sub-sampled signals with the first set of equalizer coefficients to obtain an output signal.

16. The method of claim 13, wherein performing the equalization on the first and second sets of sub-sampled signals comprises:
selecting a first sub-sampled signal from the first set of sub-sampled signals;
selecting a second sub-sampled signal from the second set of sub-sampled signals;
determining a first set of equalizer coefficients based on the first channel estimate;
determining a second set of equalizer coefficients based on the second channel estimate;
filtering the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
filtering the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal; and
combining the first and second output signals.

17. An apparatus comprising:
means for sub-sampling a first input signal received at a first receive antenna to obtain a first set of sub-sampled signals;
means for sub-sampling a second input signal received at a second receive antenna to obtain a second set of sub-sampled signals;
means for determining a first channel estimate, wherein the first channel estimate is associated with the first input signal received at the first receive antenna;
means for determining a second channel estimate, wherein the second channel estimate is associated with the second input signal received at the second receive antenna; and
means for performing equalization on the first set of sub-sampled signals and on the second set of sub-sampled signals, wherein the equalization is based on the first channel estimate and the second channel estimate.

18. The apparatus of claim 17, wherein the means for determining the first channel estimate is configured to sub-sample an over-sampled channel estimate, and wherein the over-sampled channel estimate comprises an over-sampled channel impulse response that is based on the first input signal.

19. The apparatus of claim 18, further comprising:
means for determining a first set of equalizer coefficients based on the first channel estimate; and
means for determining a second set of equalizer coefficients based on the second channel estimate.

20. The apparatus of claim 17, wherein the means for performing equalization on the first and second sets of sub-sampled signals comprises:
means for selecting a first sub-sampled signal from the first set of sub-sampled signals,
means for selecting a second sub-sampled signal from the second set of sub-sampled signals;
means for determining a first set of equalizer coefficients based on the first channel estimate;
means for determining a second set of equalizer coefficients based on the second channel estimate;
means for filtering the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
means for filtering the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal; and
means for combining the first and second output signals.

21. The apparatus of claim 17, wherein the first channel estimate is associated with a first transmit antenna, and wherein the second channel estimate is associated with a second transmit antenna.

22. The apparatus of claim 21, wherein the means for performing equalization on the first and second sets of sub-sampled signals comprises:
means for selecting a first sub-sampled signal from the first set of sub-sampled signals;
means for selecting a second sub-sampled signal from the second set of sub-sampled signals;
means for determining a first set of equalizer coefficients based on the first channel estimate;
means for determining a second set of equalizer coefficients based on the second channel estimate;
means for filtering the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal; and
means for filtering the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal.

23. A non-transitory computer-readable medium comprising processor-executable instructions that, when executed by a processor, cause the processor to:
sub-sample a first input signal received at a first receive antenna to obtain a first set of sub-sampled signals;
sub-sample a second input signal received at a second receive antenna to obtain a second set of sub-sampled signals;
determine a first channel estimate, wherein the first channel estimate is associated with the first input signal received at the first receive antenna;
determine a second channel estimate, wherein the second channel estimate is associated with the second input signal received at the second receive antenna; and
perform equalization on the first set of sub-sampled signals and on the second set of sub- sampled signals, wherein the equalization is based on the first channel estimate and the second channel estimate.

24. The non-transitory computer-readable medium of claim 23, wherein the processor-executable instructions that cause the processor to determine the first channel estimate comprise processor-executable instructions that, when executed by the processor, cause the processor to sub-sample an over-sampled channel estimate, and wherein the over-sampled channel estimate comprises an over-sampled channel impulse response that is based on the first input signal.

25. The non-transitory computer-readable medium of claim 24, further comprising processor-executable instructions that, when executed by the processor, cause the processor to determine a first set of equalizer coefficients based on the first channel estimate, wherein the processor-executable instructions that cause the processor to perform the equalization on the first set of sub-sampled signals further comprise processor-executable instructions that, when executed by the processor, cause the processor to filter a first sub-sampled signal selected from the first set of sub-sampled signals with the first set of equalizer coefficients to obtain an output signal.

26. The non-transitory computer-readable medium of claim 24, wherein the over- sampled channel estimate is associated with a wireless channel between a first transmit antenna and the first receive antenna.

27. The non-transitory computer-readable medium of claim 24, wherein the first input signal is over-sampled at a predetermined multiple of a chip rate, and wherein each of the first set of sub-sampled signals is sampled at the chip rate.

28. The non-transitory computer-readable medium of claim 23, further comprising processor-executable instructions that, when executed by the processor, cause the processor to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine a first set of equalizer coefficients based on the first channel estimate;
determine a second set of equalizer coefficients based on the second channel estimate;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal; and
combine the first and second output signals.

29. The non-transitory computer-readable medium of claim 28, wherein one of the first set of equalizer coefficients and the second set of equalizer coefficients comprises all zeros.

30. The non-transitory computer-readable medium of claim 23, further comprising processor-executable instructions that, when executed by the processor, cause the processor to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine covariance values for the first input signal and the second input signal;
jointly derive first and second sets of equalizer coefficients based on the first and second channel estimates and based on the covariance values;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal;
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal; and
combine the first and second output signals.

31. The non-transitory computer-readable medium of claim 23, further comprising processor-executable instructions that, when executed by the processor, cause the processor to:
select a first sub-sampled signal from the first set of sub-sampled signals;
select a second sub-sampled signal from the second set of sub-sampled signals;
determine a first set of equalizer coefficients based on the first channel estimate;
determine a second set of equalizer coefficients based on the second channel estimate;
filter the first sub-sampled signal with the first set of equalizer coefficients to obtain a first output signal; and
filter the second sub-sampled signal with the second set of equalizer coefficients to obtain a second output signal.

32. The non-transitory computer-readable medium of claim 31, wherein the first input signal and the second input signal are associated with a data transmission sent with space- time transmit diversity (STTD), and further comprising processor-executable instructions that, when executed by the processor, cause the processor to perform STTD decoding on the first and second output signals.