Patent Publication Number: US-7583756-B2

Title: Adaptive pilot filter for a wireless communication system

Description:
CLAIM OF PRIORITY UNDER 35 U.S.C. §120  
   The present Application for Patent is a Continuation of patent application Ser. No. 09/924,199 entitled “Adaptive Pilot Filter for a Wireless Communication System” filed Aug. 7, 2001, , and issued as U.S. Pat. No. 7,230,975 on Jun. 12, 2007, and assigned to the assignee hereof and hereby expressly incorporated by reference herein. 

   BACKGROUND 
   1. Field 
   The present invention relates generally to data communication, and more specifically to an adaptive pilot filter for use in a wireless communication system. 
   2. Background 
   Wireless communication systems are widely deployed to provide various types of communication such as voice, packet data, and so on. These systems may be based on code division multiple access (CDMA), time division multiple access (TDMA), or some other multiple access technique. CDMA systems may provide certain advantages over other types of systems, including increased system capacity. A CDMA system is typically designed to implement one or more standards, such as IS-95, cdma2000, IS-856, and W-CDMA standards, all of which are known in the art. 
   In a wireless communication system, a pilot is often transmitted from a transmitter unit (e.g., a base station) to a receiver unit (e.g., a terminal) to assist the receiver unit perform a number of functions. The pilot is typically generated based on a known data pattern (e.g., a sequence of all zeros) and using a known signal processing scheme (e.g., covered with a particular channelization code and spread with a known scrambling code or pseudo-noise (PN) sequence). The pilot may be used at the receiver unit for synchronization with the timing and frequency of the transmitter unit, estimation of the quality of the communication channel, coherent demodulation of a data transmission, and possibly other functions such as determination of the specific transmitter unit having the best link to the receiver unit and the highest data rate supportable by this transmitter unit. 
   At the receiver unit, a rake receiver is often used to recover the transmitted pilot, signaling, and traffic data. A transmitted signal may be received via multiple signal paths (or multipaths), and each received multipath of sufficient strength may be assigned to and processed by a respective finger processor of the rake receiver. Each finger processor processes the assigned multipath in a manner complementary to that performed at the transmitter unit to recover the data and pilot received via this multipath. The recovered pilot has an amplitude and phase determined by, and indicative of, the channel response for this multipath. The pilot is typically used for coherent demodulation of various traffics transmitted along with the pilot, which are similarly distorted by the channel response. The pilots for a number of multipaths are also used to combine demodulated symbols derived from these multipaths to obtain combined symbols having improved quality. 
   The quality of the recovered pilot directly impacts the performance of the demodulation process, which may in turn impact the performance of the communication system. A transmitted pilot is typically degraded by channel noise and further distorted by fading in the communication channel. These various phenomena (or channel conditions) combine to make it challenging to estimate the time-varying response (i.e., amplitude and phase) of the communication channel at the receiver unit based on the received pilot. 
   There is therefore a need in the art for techniques to provide an improved estimate of the time-varying response of a communication channel from a received pilot in a wireless communication system. 
   SUMMARY 
   Aspects of the invention provide techniques to process a signal received under certain channel conditions to provide pilot symbols, and to filter the pilot symbols in an “adaptive” manner to provide an improved estimate of the response of the communication channel via which the signal was received. It is recognized by the invention that a signal received at a receiver unit (e.g., a terminal) may experience different channel conditions at different times, and different instances of a transmitted signal (i.e., multipaths) may experience different channel conditions even when received close in time. Thus, in an aspect, a pilot filter with an adaptive response is used to provide an improved estimate of the channel response based on the received pilot, which may have experienced various different channel conditions. 
   A transmitted pilot is degraded by noise in the communication channel and further distorted by fading due to movement by the terminal. A filter with a narrow bandwidth is effective at removing more of the channel noise, but is less effective at tracking variations in the received pilot due to fading. Conversely, a filter with a wide bandwidth is more effective at tracking signal variations due to fading, but also allows a higher amount of channel noise to propagate through the filter. 
   A pilot filter that provides “optimal” performance has a response that can be adapted based on the channel conditions. The channel conditions may be quantified by various characteristics such as the signal-to-total-noise-plus-interference ratio (SNR) of the received pilot, the speed of the terminal, and possibly others. The bandwidth of the pilot filter may thus be adapted as a function of the pilot SNR, the terminal speed, and so on. 
   Various adaptive pilot-filtering schemes may be implemented. In a first scheme, the channel conditions are estimated based on the quality of the received pilot, which may be estimated based on the pilot power and noise power. A particular response is then selected for the pilot filter based on the estimated pilot quality (e.g., based on the pilot to noise power ratio). In a second scheme, the channel conditions are estimated based on the quality of the pilot estimates (i.e., the filtered pilot symbols), and this quality may be estimated based on “prediction” errors for the pilot symbols, as described below. A particular response is then selected for the pilot filter (or a filter with a particular response is selected) based on the quality of the pilot estimates (e.g., to minimize the prediction errors). These schemes are described in further detail below. Other schemes may also be implemented and are within the scope of the invention. 
   The invention further provides methods, pilot filters, rake receivers, apparatus, and other elements that implement various aspects, embodiments, and features of the invention, as described in further detail below. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The features, nature, and advantages 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 and wherein: 
       FIG. 1  is a simplified block diagram of a base station and a terminal in a wireless communication system; 
       FIG. 2  is a block diagram of an embodiment of a rake receiver that incorporates an adaptive pilot filter of the invention; 
       FIG. 3  is a diagram of an embodiment of a pilot filter capable of implementing a first adaptive pilot filtering scheme; 
       FIGS. 4A and 4B  are diagrams of an embodiment of a pilot filter capable of implementing a second adaptive pilot filtering scheme; and 
       FIG. 5  is a diagram of another embodiment of a pilot filter capable of implementing the second adaptive pilot-filtering scheme. 
   

   DETAILED DESCRIPTION 
     FIG. 1  is a simplified block diagram of a base station  104  and a terminal  106  in a wireless communication system, which are capable of implementing various aspects and embodiments of the invention. On the forward link (i.e., downlink), at base station  104 , a transmit (TX) data processor  112  receives various types of “traffic” such as user-specific data, messages, and so on. TX data processor  112  then formats and codes the different types of traffic based on one or more coding schemes to provide coded data. Each coding scheme may include any combination of cyclic redundancy check (CRC), convolutional, Turbo, block, and other coding, or no coding at all. Typically, different types of traffic are coded using different coding schemes. 
   A modulator (MOD)  114  then receives pilot data and the coded data from TX data processor  112 , and further processes the received data to generate modulated data. For some CDMA systems, the processing by modulator  114  includes (1) covering the coded and pilot data with different channelization codes to channelize the user-specific data, messages, and pilot data onto their respective traffic channels and (2) spreading the channelized data with a scrambling code. The channelization codes are Walsh codes in IS-95 and cdma2000 and orthogonal variable spreading factor (OVSF) codes in W-CDMA. The scrambling code is a complex pseudo-noise (PN) sequence at a particular offset in IS-95 and cdma2000 and a particular scrambling sequence in W-CDMA. “Covering” with a Walsh code in IS-95 and cdma2000 is equivalent to “spreading” with an OVSF code in W-CDMA, and “spreading” with the PN sequence in IS-95 and cdma2000 is equivalent to “scrambling” with a scrambling sequence in W-CDMA. The modulated data is then provided to a transmitter (TMTR)  116  and conditioned (e.g., converted to one or more analog signals, amplified, filtered, and quadrature modulated) to generate a forward modulated signal suitable for transmission via an antenna  118  and over a wireless communication channel to the terminals. 
   At terminal  106 , the forward modulated signal is received by an antenna  150  and provided to a receiver (RCVR)  152 . Receiver  152  conditions (e.g., filters, amplifies, downconverts, and digitizes) the received signal and provides data samples. A demodulator (DEMOD)  154  then receives and processes the data samples to provide recovered symbols. For some CDMA systems, the processing by demodulator  154  includes (1) despreading the data samples with the same scrambling code used to spread the data at the base station, (2) decovering the despread samples to channelize the received data and messages onto their respective traffic channels, and (3) coherently demodulating the channelized data with a pilot recovered from the received signal. Demodulator  154  may implement a rake receiver that can process multiple signal instances in the received signal, as described below. 
   A receive (RX) data processor  156  then receives and decodes the symbols from demodulator  154  to recover the user-specific data and messages transmitted on the forward link. The processing by demodulator  154  and RX data processor  156  is complementary to that performed by modulator  114  and TX data processor  112 , respectively, at base station  104 . 
   As noted above, for some wireless communication systems, a pilot is transmitted along with other types of traffic on the forward link from the base station to the terminals. In some systems, a pilot is also transmitted on the reverse link from each active terminal to the base station. The transmitted pilot is used by the receiver unit to coherently demodulate the various traffics transmitted along with the pilot. 
   To generate the pilot at the base station, the pilot data is initially covered with a particular channelization code used to transmit the pilot, and further spread with the scrambling code. To simplify the signal processing at both the base station and the terminal, CDMA systems typically use a sequence of all zeros for the pilot data and a channelization code of zero for the pilot channel. In this case, the pilot is effectively the scrambling code assigned to the base station. 
   W-CDMA supports a number of different pilot channels. First, a common pilot channel (CPICH) may be generated as described above and transmitted on a primary base station antenna. In addition, a diversity CPICH may be generated as described above, except that the pilot data is non-zero, and transmitted on a diversity antenna of the base station. Furthermore, one or more secondary CPICHs may be transmitted in a restricted part of the cell, and each secondary CPICH is generated using a non-zero channelization code. The base station may further transmit a dedicated pilot to a specific user using the same channelization code as the user&#39;s data channel. In this case, the pilot symbols are time-multiplexed with the data symbols to that user. Finally, on the uplink, the terminal transmits a quadrature-multiplexed pilot signal along with its uplink data to the base station. It will be well-understood by those skilled in the art that the techniques described herein are applicable for processing all of the above different types of pilot channels, and other pilot channels that may also be transmitted in a wireless communication system. 
   At the terminal, the pilot from the base station may be recovered by processing a received signal in a manner complementary to that performed at the base station. The processing at the terminal typically includes (1) conditioning and digitizing the received signal to provide data samples, (2) despreading the data samples with the scrambling code at a specific chip offset (or phase) matching that of the multipath being processed, (3) decovering the despread samples with the same channelization code used to cover the pilot data at the base station, and (4) multiplying the decovered samples with the known pilot data and accumulating the resulting samples over an appropriate period of time. If the pilot data is a sequence of all zero and the channelization code is zero, then the processing to recover the pilot simply includes despreading the data samples with the scrambling code and accumulating the despread samples over an integer multiple of the length of the channelization code (to remove the data transmitted on other traffic channels). This complementary signal processing recovers the (desired) pilot transmitted from the base station and removes other (extraneous) transmissions on other traffic channels from this and other base stations. 
     FIG. 2  is a block diagram of an embodiment of a demodulator  154   a  that may be used to search for strong signal instances (or multipaths) in a received signal and to demodulate one or more multipaths of sufficient strength. Demodulator  154   a  is one embodiment of demodulator  154  in  FIG. 1 , and implements a rake receiver that includes a number of finger processors  210  (or demodulation fingers) and a searcher element  212  (or searcher). 
   Due to multipath and other phenomena, a signal transmitted from a base station may be received by a terminal via multiple signal paths. The received signal at the terminal may thus include a number of multipaths for one or more base stations. Searcher  212  is then used to search for strong multipaths in the received signal and to provide an indication of the strength and timing of each found multipath that meets a set of criteria. 
   The rake receiver is designed with the capability to process multiple (and typically strongest) signal instances found by searcher  212 . One finger processor  210  may be assigned to process each multipath of interest (e.g., each multipath of sufficient strength, as determined by controller  160  based on the signal strength information provided by searcher  212 ). 
   As shown in  FIG. 2 , the complex samples, I IN  and Q IN , from receiver  152  are provided to a number of finger processors  210   a  through  210 /. Within each finger processor  210  assigned to process a particular multipath, the I IN  and Q IN  samples are provided to a PN despreader  220 , which also receives the scrambling code used to spread the data at the base station. The scrambling code is generated in accordance with the particular CDMA standard being implemented and with a particular chip offset (i.e., a particular phase) aligned to that of the multipath being processed by that finger processor. 
   PN despreader  220  performs a complex multiply of the complex I IN  and Q IN  samples with the scrambling code and provides complex despread I DES  and Q DES  samples to decover elements  222  and  232 . Decover element  222  decovers the despread samples with one or more channelization codes (e.g., Walsh codes or OVSF codes) used to cover the data, and generates complex decovered data samples. The decovered data samples are then provided to a symbol accumulator  224 , which accumulates the samples over the length of the channelization code to generate decovered data symbols. Decover element  222  and symbol accumulator  224  effectively form a first “channelizer” that recovers the data transmitted on a particular traffic channel. The decovered data symbols are then provided to a pilot demodulator  226 . 
   For many CDMA systems, on the forward link, a pilot is transmitted continuously at all times or non-continuously during portions of a transmission. To recover the transmitted pilot, decover element  232  decovers the despread samples with the particular channelization code used to cover the pilot at the base station. The channelization code is Walsh code of zero for IS-95 and cdma2000, and an OVSF code of zero for some pilot channels in W-CDMA. The decovered pilot samples are then provided to an accumulator  234 , which accumulates sets of samples to provide pilot symbols, x n . Each set includes a number of samples for N C  chips, which represents a pilot accumulation time interval. This time interval may be an integer multiple of the length of the channelization code used for the pilot, an entire pilot reference period (if the pilot is transmitted in bursts), or some other time interval. Symbol accumulator  234  then provides the pilot symbols to a pilot filter  236 . Decover element  232  and symbol accumulator  234  effectively form a second channelizer that recovers the pilot transmitted on a particular pilot channel. 
   Pilot filter  236  may be implemented with various filter designs, as described below. Pilot filter  236  filters (and may further interpolates) the received pilot symbols, x n , to provide pilot estimates, y n , which are estimates of the response of the communication channel via which the multipath was received. Pilot filter  236  may further receive and utilize the decovered data symbols (from symbol accumulator  224 ) to provide improved pilot estimates, as described in U.S. Pat. No. 6,947,475, entitled “METHOD AND APPARATUS FOR ESTIMATING CHANNEL CHARACTERISTICS USING PILOT AND NON-PILOT DATA”, issued Sep. 20, 2005, assigned to the assignee of the present application and incorporated herein by reference. Pilot filter  236  typically provides one pilot estimate for each decovered data symbol to be coherently demodulated. The pilot estimates are provided to pilot demodulator  226  and used to coherently demodulate the decovered data symbols, and are also provided to a signal quality estimator  242  that detects the strength of the recovered pilot. 
   Pilot demodulator  226  performs coherent demodulation of the decovered data symbols from symbol accumulator  224  with the pilot estimates from pilot filter  236  and provides demodulated symbols to a symbol combiner  240 . Coherent demodulation can be achieved by performing a dot product and a cross product of the decovered data symbols with the pilot estimates. The dot and cross products effectively perform a phase demodulation of the data and further scale the resultant output by the relative strength of the recovered pilot. The scaling with the pilots by the finger processors effectively weighs the contributions from different multipaths in accordance with the quality of the multipaths for efficient combining. The dot and cross products thus perform the dual role of phase projection and signal weighting that are characteristics of a coherent rake receiver. 
   Symbol combiner  240  receives and coherently combines the demodulated symbols from all assigned finger processors  210  to provide recovered symbols for a particular data transmission being processed by the rake receiver. The recovered symbols are then provided to the subsequent processing element (i.e., RX data processor  156 ). 
   Signal quality estimator  242  may computes the energy of the pilot by (1) squaring the inphase and quadrature components of the pilot estimates, P 1   2  and P Q   2 , where y n =P I +jP Q  (2) summing each pair of squared results to generate a sum of squares, P I   2 +P Q   2 , and (3) accumulating N M  sums of squares to generate a correlated value that is indicative of the strength of the recovered pilot. 
   Conventionally, a single pilot filter with a specific response is used to filter the pilot symbols to provide the pilot estimates. This pilot filter has a particular bandwidth selected to be robust across all channel conditions (i.e., the bandwidth is typically selected to provide acceptable performance based on certain assumptions for the channel conditions). However, since the channel conditions can vary over time for a given terminal and typically vary from terminal to terminal, the use of a single pilot filter by all terminals at all times provides sub-optimal performance in many situations. 
   Aspects of the invention provide techniques to filter the pilot symbols in an “adaptive” manner to provide improved estimates of the response of the communication channel based on a pilot that may have been received under various channel conditions. It is recognized by the invention that a signal received at a given terminal may experience different channel conditions at different times, and different multipaths may experience different channel conditions even when received close in time. Thus, in an aspect, a pilot filter with an adaptive response is used to provide an improved estimate of the channel response based on the pilot, which may have been received under various different channel conditions. 
   As noted above, a transmitted pilot is degraded by noise in the communication channel and further distorted by fading due to movement by the terminal. A filter with a narrow bandwidth (i.e., one with a long time constant) is effective at removing more of the channel noise, but is less effective at tracking variations in the received pilot due to fading. Conversely, a filter with a wide bandwidth (i.e., one with a short time constant) is more effective at tracking signal variations due to fading, but also allows a higher amount of channel noise to propagate through the filter. 
   Table 1 lists the filter responses that are likely to provide improved performance for various channel conditions. The two data rows in Table 1 correspond to different amounts of channel noise (i.e., low and high channel noise), and the two data columns correspond to different terminal speed (i.e., low and high speed). When the channel noise is low, a wide bandwidth filter is typically preferred since it is better able to track signal variations while allowing a moderate amount of channel noise to propagate through. When the channel noise is high and at low speed, the signal variations are typically small and a narrow bandwidth filter is preferred since it is better able to filter more of the channel noise while still able to track the slow signal variations. And when the channel noise and the terminal speed are both high, the filter response that can provide better performance is dependent on the amount of channel noise versus the amount of signal variations. 
   
     
       
         
             
             
             
           
             
                 
               TABLE 1 
             
             
                 
                 
             
             
                 
               Low Speed 
               High Speed 
             
             
                 
                 
             
           
          
             
                 
             
          
         
         
             
             
             
             
          
             
                 
               Low Channel Noise 
               Wide Bandwidth 
               Wide Bandwidth 
             
             
                 
               High Channel Noise 
               Narrow 
               — 
             
             
                 
                 
               Bandwidth 
             
             
                 
                 
             
          
         
       
     
   
   The symbols corresponding to a received pilot may be expressed as:
 
 x   n   =p   n   +n   n ,   Eq (1)
 
where
         x n  represents the pilot symbols, as received at the terminal,   p n  represents the pilot symbols received at the terminal after experiencing fading due the channel but without any added noise, and   n n  represents the total noise, which includes the channel noise, receiver noise, and interference from other base stations and multipaths.
 
The quantities x n , p n , and n n  are complex values. Since the transmitted pilot has a known (constant) amplitude and phase, x n  effectively represents the response of the communication channel.
       

   Estimates of the pilot, as received at the terminal, may be obtained by filtering or averaging the pilot symbols. If a finite impulse response (FIR) filter structure is used for the pilot filter, then the filtered pilot symbols (i.e., the pilot estimates) may be expressed as: 
                     y   n     =       ∑   i     ⁢       w   i     ⁢     x     n   -   i             ,           Eq   ⁢           ⁢     (   2   )                 
where y n  represents the pilot estimates and w i  represents the filter coefficients. Conventionally, the filter coefficients (and thus the filter response) are selected to provide robust performance across all channel conditions.
 
   A pilot filter that provides “optimal” performance has a response that can be adapted based on the channel conditions. The channel conditions may be quantified by various characteristics such as a signal-to-total-noise-plus-interference ratio (SNR) of the received pilot, the speed of the terminal, and possibly others. The response (e.g., bandwidth) of the pilot filter may thus be adapted as a function of the pilot SNR, the terminal speed, and so on. Various adaptive pilot filtering schemes may be implemented, some of which are described below. 
   In a first adaptive pilot filtering scheme, the channel conditions are estimated based on the quality of the received pilot, which may be estimated based on the pilot power and noise power. A particular response is then selected for the pilot filter based on the estimated pilot quality (e.g., based on the pilot to noise power ratio). For this scheme, the pilot power may be estimated based on the received pilot symbols, as follows: 
                     S   n     =       ∑   i     ⁢              x     n   -   i            2     ⁢     g   i           ,           Eq   ⁢           ⁢     (     3   ⁢           ⁢   a     )                 
or may be estimated based on the filtered pilot symbols, as follows:
 
                     S   n     =       ∑   i     ⁢              y     n   -   i            2     ⁢     g   i           ,           Eq   ⁢           ⁢     (     3   ⁢           ⁢   b     )                 
where g i  represents the signal averaging coefficients. Short-term averages may be used for equations (3a) and (3b) by setting g i  to 1.0. Filtered averages may also be used for equations (3a) and (3b) by setting g i  to some other values. The proper values for g i  may be determined by computer simulation, empirical measurements, and so on. The noise power may also be estimated based on the received pilot symbols, as follows:
 
                   N   n     =       ∑   i     ⁢                x     n   -   i       -     x     n   -   i   -   1              2     ⁢       g   i     .                 Eq   ⁢           ⁢     (   4   )                 
The noise averaging coefficients in equation (4) do not need to be the same as the signal averaging coefficients in equations (3a) and (3b). The duration of the averaging is selected to be both (1) long enough so that reliable estimates for S n  and N n  may be formed and (2) short enough so that changes in SNR may be responded to within a reasonable time. The estimated noise power, N n , in equation (4) includes the channel noise as well as the noise component due to terminal speed. In equations (3a), (3b), and (4), one pilot power estimate, S n , and one noise power estimate, N n , are provided for each received pilot symbol, x n .
 
   The averaging interval for the summations in equations (3a), (3b), and (4) used to estimate the pilot and noise power may be selected based on various considerations. A shorter averaging interval (i.e., a wider bandwidth) provides better tracking of fades but also allows in more noise. The pilot filter response should be fast enough to track the actual changes in the channel, but the averaging interval for equations (3a), (3b), and (4) needs to be fast enough only to track relatively long-term changes such as a user changing from low-speed to high-speed. 
   Other methods to estimate the pilot power and noise power may also be used and are within the scope of the invention. Some methods to estimate pilot and noise power estimation are described in U.S. Pat. Nos. 6,097,972, 5,903,554, 5,799,005, 5,265,119, and 5,056,109, which are all incorporated herein by reference. 
   A pilot-to-noise power ratio, SNR n , is then computed based on the pilot and noise power estimates (i.e., SNR n =S n /N n ), and the response of the pilot filter can be selected based on the computed SNR n . In general, a pilot filter with a wider bandwidth may be used if the SNR n  is high, and a pilot filter with a narrow bandwidth should be used if the SNR n  is low. The bandwidth selection may be achieved by comparing the SNR n  against a set of one or more thresholds, T k . 
   In an embodiment, (N T −1) thresholds are used to select one of N T  different possible responses for the pilot filter. The (N T −1) thresholds may be arranged in an ordered list (T 1 &lt; . . . &lt;T k &lt; . . . &lt;T N     T     −1 ) and are associated with N T  filter responses having bandwidths that are also arranged in an ordered list (B 1 &lt; . . . &lt;B k &lt; . . . &lt;B N     T   ). The narrowest filter bandwidth, B 1 , would be selected if the SNR n  is less than or equal to the lowest threshold, T 1  (i.e., SNR n ≦T 1 ); the second narrowest filter bandwidth, B 2 , would be selected if the SNR n  is greater than T 1  but less than or equal to the second lowest threshold, T 2  (i.e., T 1 &lt;SNR n ≦T 2 ); and so on; and the widest filter bandwidth, B N     T   , would be selected if the SNR n  is greater than the highest threshold, T N     T     −1  (i.e., T N     T     −1 &lt;SNR n ). The selection of the bandwidth based on the comparison of the SNR n  against the thresholds can be summarized as: 
   
     
       
         
           
             
               
                 Bandwidth 
                 = 
                 
                   { 
                   
                     
                       
                         
                           B 
                           1 
                         
                       
                       
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 SNR 
                                 n 
                               
                             
                             ≤ 
                             
                               T 
                               1 
                             
                           
                           , 
                         
                       
                     
                     
                       
                         
                           B 
                           2 
                         
                       
                       
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 T 
                                 1 
                               
                             
                             &lt; 
                             
                               SNR 
                               n 
                             
                             ≤ 
                             
                               T 
                               2 
                             
                           
                           , 
                         
                       
                     
                     
                       
                         ⋮ 
                       
                       
                         
                             
                         
                       
                     
                     
                       
                         
                           B 
                           
                             N 
                             T 
                           
                         
                       
                       
                         
                           
                             if 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               T 
                               
                                 N 
                                 - 
                                 1 
                               
                             
                           
                           &lt; 
                           
                             
                               SNR 
                               n 
                             
                             . 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 Eq 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
   
   For the first scheme, a single filter with an adaptable response may be used to implement different bandwidths, as determined by the SNR n . For example, if the pilot filter is implemented with a FIR filter structure or an infinite impulse response (IIR) filter structure, then one set of filter coefficients may be used for each possible filter response, and a specific set of filter coefficients is selected for used based on the SNR n  and the thresholds. 
     FIG. 3  is a diagram of an embodiment of a pilot filter  236   a,  which is capable of implementing the first adaptive pilot filtering scheme. Pilot filter  236   a  may be used to implement pilot filter  236  in  FIG. 2 , and includes a FIR filter  310  coupled to a control unit  320 . FIR filter  310  receives and filters the pilot symbols, x n , in accordance with a particular filter response and provides the filtered pilot symbols, y n . The particular response of FIR filter  310  (and thus the bandwidth) is determined by a set of coefficients, w 0   k  through W N−1   k , provided by control unit  320 . 
   Within FIR filter  310 , the received pilot symbols, x n , are provided to a set of series-coupled delay elements  312   b  through  312   n.  The received pilot symbols, x n , and the outputs of delay elements  312   b  through  312   n  are respectively provided to multipliers  314   a  through  314   n,  which also respectively receive coefficients w 0   k  through w N−1   k . Each multiplier  314  multiplies each received symbol with the received coefficient and provides a scaled symbol to a summer  316 . Summer  316  adds the scaled symbols from all multipliers  314  to provide the filtered pilot symbol, y n . The filtered pilot symbol from FIR filter  310  may be expressed as: 
   
     
       
         
           
             
               
                 
                   y 
                   n 
                 
                 = 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       0 
                     
                     
                       N 
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                     
                       w 
                       i 
                       k 
                     
                     · 
                     
                       
                         x 
                         
                           n 
                           - 
                           i 
                         
                       
                       . 
                     
                   
                 
               
             
             
               
                 Eq 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
   
   Within control unit  320 , the received pilot symbols, x n , are provided to a pilot power estimator  322  and a noise power estimator  324 , which respectively estimate the pilot and noise power as described above. Although not shown in  FIG. 3 , the pilot power may also be estimated based on the filter pilot symbols, y n . The pilot power estimate, S n , and the noise power estimate, N n , are then provided to an SNR estimator  326  that computes the ratio of the pilot to noise power. The pilot-to-noise power ratio, SNR n , is then provided to a threshold detector  328 , which compares the SNR n  to one or more thresholds, T k . Based on the results of the comparison, a specific filter response (e.g., a particular bandwidth) is selected from among a number of possible filter responses and indicated by a Select signal from threshold detector  328 . A coefficient storage unit  330  receives the Select signal and provides to FIR filter  310  the set of filter coefficients for the selected filter response. 
   For clarity,  FIG. 3  shows a pilot filter using the FIR filter structure. The pilot filter may also be implemented using an IIR filter structure or some other filter structure. Control unit  320  may be implemented as a separate unit or may be implemented within controller  160 . 
   In a second adaptive pilot filtering scheme, the channel conditions are estimated based on the quality of the pilot estimates, which may be estimated based on “prediction” errors for the pilot. A particular response is then selected for the pilot filter (or a filter with a particular response is selected) based on the quality of the pilot estimates (e.g., to minimize the prediction errors). In one embodiment of this scheme, the pilot symbols are initially filtered using a bank of two or more filters having different responses (or bandwidths). Prediction errors are then computed for each filter, and the filter that minimizes the prediction errors is selected for use. 
   If a FIR filter structure is used for each filter in the bank, then the filtered pilot symbols (or pilot estimates) may be expressed as: 
                       y   n   1     =         ∑   i     ⁢       w   i   1     ·     x     n   -   i           =         w   0   1     ⁢     x   n       +       ∑     i   ≠   0       ⁢       w   i   1     ·     x     n   -   i                 ,     
     ⁢       y   n   2     =         ∑   i     ⁢       w   i   2     ·     x     n   -   i           =         w   0   2     ⁢     x   n       +       ∑     i   ≠   0       ⁢       w   i   2     ·     x     n   -   i                 ,     
     ⁢   ⋮     ⁢     
     ⁢         y   n   k     =         ∑   i     ⁢       w   i   k     ·     x     n   -   i           =         w   0   k     ⁢     x   n       +       ∑     i   ≠   0       ⁢       w   i   k     ·     x     n   -   i                 ,             Eq   ⁢           ⁢     (   7   )                 
where y n   k  is the pilot estimate from the k-th filter for the received pilot symbol x n , and w i   k  represents the coefficients for the k-th filter. Each equation in equation set (7) defines a respective filter in the bank. For each equation, the estimate of the current received pilot symbol, y n   k , is composed of (1) a predictive term
 
           (       i   .   e   .     ,       ∑     i   ≠   0       ⁢       w   i   k     ·     x     n   -   i             )         
that is dependent on received pilot symbols other than the current one, and (2) a second term (i.e., w 0   k x n ) that is dependent on the current received pilot symbol.
 
   If a (one-pole) IIR filter structure is used for each filter in the bank, then the filtered pilot symbols (or pilot estimates) may be expressed as:
 
 y   n   1 =(1− α   1 )· y   n−1   1   +α   1   ·x   n ,
 
 y   n   2 =(1− α   2 )· y   n−1   2   +α   2   ·x   n ,   Eq (8)
 
. . .
 
 y   n   k =(1− α   k )· y   n−1   k   +α   k   ·x   n ,
 
where a k  is the time constant for the k-th filter. For each equation in equation set (8), the estimate of the current pilot symbol, y n   k , is composed of a predictive term (i.e., (1−α k )·y n−1   k ) that is dependent on prior received pilot symbols and a second term (i.e., α k ·x n ) that is dependent on the current received pilot symbol.
 
   The time constant, α k , is proportional to the bandwidth of the filter, and a different time constant is used for each filter in the bank. A larger time constant, α k , weighs the current received pilot symbol more and the previous received pilot symbols less, and results in less filtering of the received pilot symbols (i.e., wider bandwidth). 
   For either filter structure (IIR or FIR), the responses (and thus the bandwidths) for the filters may be selected to be geometrically related (e.g., power of twos of each other) or may be defined based on some other relationship. For example, the time constants, α k , for the IIR filter may be selected as ½, ¼, ⅛, and so on. 
   Other types of predictors may also be used and are within the scope of the invention. 
   For either filter structure (IIR or FIR), a prediction error, e n   k , may be computed for each filter in the bank, as follows:
 
 e   n   k   =y   n−1   k   −x   n .   Eq (9)
 
As shown in equation (9), the quantity y n−1   k  is an estimate of an immediately prior received pilot symbol, x n−1 , and may also be used as the prediction for the current received pilot symbol, x n . The prediction error, e n   k , is thus computed between the prediction, y n−1   k , and the actual received pilot symbol, x n .
 
   For the general IIR or FIR case, the prediction error may be determined as follows. First, the filtered pilot symbols may be expressed as follows:
 
 y   n   =w   0   ·x   n +(1− w   0 )· {circumflex over (x)}   n ,   Eq (10)
 
where {circumflex over (x)} n  is the prediction for the received pilot symbols, x n . The prediction error, e n , can then be expressed as:
 
 e   n   =x   n   −{circumflex over (x)}   n .   Eq (11)
 
If the filtered pilot symbols is expressed as:
 
                     y   n     =         w   0     ·     x   n       +       ∑     i   ≠   0       ⁢           ⁢       w   i     ·     x     n   -   1               ,           Eq   ⁢           ⁢     (   12   )                 
then the prediction, {circumflex over (x)} n , may be expressed as:
 
                       x   ^     n     =       1     1   -     w   0         ⁢       ∑     i   ≠   0       ⁢       w   i     ·     x     n   -   i               ,           Eq   ⁢           ⁢     (   13   )                 
and the prediction error, e n , may be expressed as:
 
   
     
       
         
           
             
               
                 
                   e 
                   n 
                 
                 = 
                 
                   
                     x 
                     n 
                   
                   - 
                   
                     
                       1 
                       
                         1 
                         - 
                         
                           w 
                           0 
                         
                       
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           ≠ 
                           0 
                         
                       
                       ⁢ 
                       
                         
                           w 
                           i 
                         
                         · 
                         
                           
                             x 
                             
                               n 
                               - 
                               i 
                             
                           
                           . 
                         
                       
                     
                   
                 
               
             
             
               
                 Eq 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
   
   A long-term average of the prediction error, E n   k  (i.e., the prediction error estimate) may be computed, e.g., as follows: 
                     E   n   k     =       ∑   i     ⁢              e     n   -   i     k          2     ·     b   i           ,           Eq   ⁢           ⁢     (   15   )                 
where b i  represents the coefficients used for the prediction error averaging. The coefficients, b i , may be selected to provide uniform averaging (i.e., all ones for the coefficients b i ), to weigh recent prediction errors more heavily, or to achieve some other characteristics.
 
   The prediction error estimates, E n   k , for all filters are compared against each other, and the specific filter that has the smallest prediction error (i.e., that minimizes the prediction error) is selected for use. The prediction error comparison and filter selection may be performed (1) periodically at regular time intervals (which may be selected as several time constants), at the start of each slot (e.g., 1.67 msec for some CDMA systems and 0.66 msec in W-CDMA), at the start of each frame (e.g., 20 msec), or some other time, and/or (2) whenever desired. 
     FIG. 4A  is a diagram of an embodiment of a pilot filter  236   b,  which is capable of implementing the second adaptive pilot filtering scheme. Pilot filter  236   b  may also be used to implement pilot filter  236  in  FIG. 2 , and includes a bank of filters  412   a  through  412   n  coupled to a selector  414 . 
   Each filter  412  may be implemented as a FIR filter, an IIR filter, or some other filter structure, and is further associated with a respective response (e.g., a particular bandwidth). Each filter  412  receives and filters the pilot symbols, x n , based on its filter response and provides filtered pilot symbols, y n   k . In an embodiment, each filter  412  further computes the prediction errors, e n   k , between the received pilot symbols and the filtered pilot symbols, and further derives the prediction error estimates, E n   k , as described above. The filtered pilot symbols from filters  412   a  through  412   n  are provided to selector  414 , which also receives a Select signal from controller  160 . Selector  414  then provides the filtered pilot symbols from the specific filter having the best performance, as indicated by the Select signal from controller  160 . The filtered pilot symbols, y n , from the selected filter are then provided to other processing elements, e.g., pilot demodulator  226  in the rake receiver shown in  FIG. 2 . 
     FIG. 4B  is a diagram of an embodiment of filter  412   k,  which is one filter from the bank of filters  412   a  through  412   n  shown in  FIG. 4A . In this embodiment, filter  412   k  is implemented as a FIR filter that is assigned a specific set of coefficients, w 0   k  through w N−1   k , to implement its specific response. Filter  412   k  is implemented similar to FIR filter  310  shown in  FIG. 3  and generates filtered pilot symbols, y n   k , which are provided to selector  414 . 
   As shown in  FIG. 4B , a summer  432  derives the prediction errors, e n   k , by subtracting the predicted pilot symbols, {circumflex over (x)} n , from the received pilot symbols, x n . The predicted pilot symbols, {circumflex over (x)} n , are derived by scaling the output from summer  416  (which includes all terms for the FIR filter except the current pilot symbol, i.e., 
               ∑     i   ≠   0       ⁢       w   i   k     ·     x     n   -   i           )         
with the scaling factor 1/(1−w 0   k ), as shown in equation (13). A prediction error estimator  434  receives the prediction errors, e n   k , derives the prediction error estimates, E n   k , as described above, and provides the prediction error estimates to controller  160 . Estimator  434  may implement a filter of any type and order, as is known in the art. Controller  160  receives the prediction error estimates from all filters  412   a  through  412   n,  determines the filter having the minimum prediction error, and provides the Select signal that identifies the filter having the best performance. Each filter  412  may alternatively be designed to receive the Select signal and provide the filtered pilot symbols only when directed by the Select signal.
 
   In another embodiment, controller  160  may be designed to derive the prediction error estimates, E n   k , for all filters  412  based on the received pilot symbols, x n , and either the filtered pilot symbol, y n   k , from summer  418  or the term 
             ∑     i   ≠   0       ⁢       w   i   k     ·     x     n   -   i               
from summer  416 .
 
   In one specific design, the responses of all filters  412  are fixed (i.e., each filter is assigned a fixed set of coefficients). For example, the filters may be designed such that the bandwidths or time constants for the filters are (1) geometrically related (e.g., bandwidths of BW, BW/2, BW/4, and so on), (2) based on some other defined relationships, or (3) varied in some other manner. This may simplify the design of the filters. 
   In another specific design, the filters may be programmable to achieve different responses. For example, different sets of coefficients may be provided for the filters, e.g., based on control signals from controller  160 . This programmability feature would allow the filters to be dynamically adjusted to match varied channel conditions. 
     FIG. 5  is a diagram of an embodiment of a pilot filter  236   c,  which is also capable of implementing the second adaptive pilot filtering scheme. Pilot filter  236   c  may also be used to implement pilot filter  236  in  FIG. 2 , and includes an IIR filter  510  coupled to a control unit  520 . IIR filter  510  receives and filters the pilot symbols, x n , in accordance with a particular filter response and provides the filtered pilot symbols, y n . IIR filter  510  has a response that is determined by a set of coefficients, w 0   k  through w N−1   k , provided by control unit  520 . 
   Within IIR filter  510 , the received pilot symbols, x n , are scaled by a multiplier  518   a  and further provided to a summer  516   a.  Summer  516   a  receives and adds the outputs from multipliers  518   a  and  518   b  to provide the filtered pilot symbols, y n   k , which are generated based on the k-th set of coefficients. The filtered pilot symbols, y n   k , are further provided to a number of series-coupled delay elements  512   a  through  512   n.  The outputs from delay elements  512   a  through  512   n  are respectively provided to multipliers  514   a  through  514   n,  which also respectively receive the coefficients, w 0   k  through w N−1   k , for the k-th set. Each multiplier  514  multiplies each received symbol with the received coefficient and provides a scaled symbol to summer  516   b.  Summer  516   b  adds the scaled symbols from all multipliers  514  and provides the result to multiplier  518   b.    
   Within control unit  520 , the predicted pilot symbols, {circumflex over (x)} n , are provided to a summer  524  and subtracted from the received pilot symbols, x n , to provide prediction errors, e n   k . A prediction error estimator  526  then receives the prediction errors, e n   k , and derives prediction error estimates, E n   k , based on a particular average response, as described above. The prediction error estimates, E n   k , are then provided to a threshold detector  528 , which compares each prediction error estimate against one or more thresholds, Th k . Based on the results of the comparison, a specific filter response (e.g., a particular bandwidth) is selected and indicated by a Select signal from threshold detector  528 . A coefficient storage unit  530  receives the Select signal and provides the set of filter coefficients for the selected filter response to IIR filter  510 . 
   Pilot filter  236   c  in  FIG. 5  includes only one filter  510 , which has a response that may be adjusted periodically or whenever desired. The specific response to be used for filter  510  is dependent on the output (i.e., the pilot estimates) of the current filter response. Controller  160  or some other unit may be used to monitor the performance of pilot filter  236   c  and to “steer” the filter to the proper response. 
   Referring back to  FIG. 2 , each finger processor  210  of rake receiver  154   a  may be provided with a respective adaptive pilot filter  236 , which may be implemented using various designs such as those shown in  FIGS. 3 through 5 . Each finger processor  210  is thus associated with a respective pilot filter having a response (e.g., a bandwidth) that may be selected based on the estimated channel conditions. This allows each finger processor  210  to utilize the specific filter response that best matches the channel conditions experienced by the multipath being processed by that finger processor. In this way, different and independent pilot filter responses may be used for different multipaths being concurrently processed by rake receiver  154   a.    
   Non-pilot symbols may also be used along with pilot symbols to estimate the channel conditions and/or the channel response (i.e., amplitude and phase). The use of non-pilot data for channel estimation is especially advantageous for systems that transmit a non-continuous pilot in a time division multiplexed (TDM) manner. In fact, for some operating conditions applicable to a W-CDMA system, an improvement of up to 1.0 dB in the SNR for the pilot filter output may be achieved by incorporating non-pilot symbols in the pilot filter. The higher pilot SNR may provide improved system performance. 
   The adaptive pilot filtering techniques described herein can be used to provide an improved estimate of the time-varying response (i.e., amplitude and phase) of the communication channel, which may then improve receiver performance and system capacity. The response of the pilot filter (e.g., the filter bandwidth) may be adapted to match the channel conditions. 
   The adaptive pilot filtering techniques described herein may be used in various wireless communication systems that transmit a (continuous or non-continuous) pilot. Such systems include CDMA systems that implement various standards such as IS-95, cdma2000, IS-856, W-CDMA, and so on. The techniques described herein may be employed at the terminals to recover pilots transmitted on the forward link (i.e., downlink) from the base stations to the terminals. For certain systems, pilots are also transmitted on the reverse link (i.e., uplink) from the terminals to the base stations, in which case the techniques described herein may also be used at the base stations to recover the pilots transmitted from the terminals. 
   The adaptive pilot filter, rake receiver, and other receiver elements may be implemented in hardware, software, firmware, or a combination thereof. For a hardware design, the adaptive pilot filter and its associated control circuitry and/or the rake receiver may be implemented within a digital signal processor (DSP), an application specific integrated circuit (ASIC), a processor, a microprocessor, a controller, a microcontroller, a field programmable gate array (FPGA), a programmable logic device, other electronic unit, or any combination thereof. All or a portion of the adaptive pilot filter and its associated control circuitry and/or rake receiver may also be implemented in software or firmware executed by a processor (e.g., controller  160  in  FIGS. 1 and 2 ). For example, the one or more FIR or IIR filters, the derivation of the pilot-to-noise power ratio, SNR n , computation of the prediction error estimates, E n   k , the threshold detection, and so on, may be implemented or performed with program codes executed by controller  160  or some other 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.