PATENT ABSTRACT
A method and an apparatus are provided in an OFDM receiver for detecting and compensating for long echo. The method comprises a first pilot tone interpolation mechanism and a first window placement to filter a received OFDM symbol, a long echo channel detection coupled with a second pilot tone interpolation mechanism, a pre-echo and post-echo detection wherein the pre-echo condition is associated with a second new window placement, and both pre-echo and post-echo conditions place two time windows around a first peak channel response and a second peak channel response for channel estimation. The long echo is estimated by obtaining power spectra of a subset of subcarriers in one OFDM symbol, performing an inverse Fourier transform on the power spectra and determining the long echo by measuring the time between two peaks in the power profile.

PATENT DESCRIPTION
CROSS-REFERENCES TO RELATED APPLICATIONS 
       [0001]    The present application claims benefit under 35 USC 119(e) of U.S. provisional application No. 60/890,237, filed Feb. 16, 2007, entitled “Long Echo Detection And Channel Estimation For OFDM Systems”, the content of which is incorporated herein by reference in its entirety. 
         [0002]    The present application is related to U.S. patent application Ser. No. 11/870,726, filed Oct. 11, 2007, entitled “Method and apparatus for channel estimation in OFDM receivers”, the content of which is hereby incorporated by reference in its entirety. 
     
    
     BACKGROUND OF THE INVENTION 
       [0003]    Orthogonal frequency division multiplexing (OFDM) has gained considerable interest in recent years. In an OFDM system, data are modulated on frequency domain subcarriers. The modulated subcarriers are degraded when passing through a multipath channel. A channel is defined as the medium between a transmitter and a receiver, and multipath results in radio signals reaching a receiver by two or more paths. The time delay caused by the multipath effect is called echo, and a long echo is a received signal having a long time delay. Due to the multipath effect, subcarriers will suffer degradation which must be corrected at the receiver. 
         [0004]    For coherent detection, these subcarrier frequency responses must be estimated through the use of pilot tones. For this reason, pilot tones are inserted in OFDM symbols to enable the interpolation of the channel response. Pilot tones are usually distributed in both frequency and time dimensions to enable the estimation of time-varying channel response. 
         [0005]      FIG. 1  shows a sequence of OFDM symbols, wherein data and pilot tones are modulated into K subcarriers. In the example shown, K is 1704 and 6816 in a 2K-mode and an 8K-mode DVB-T system, respectively. The remaining subcarriers are the empty subcarriers at both ends of the frequency band. Solid black circles represent pilot tones while white circles represent data subcarriers transmitted from a DVB-T transmitter station. Guard intervals preceding each OFDM symbol are not shown. 
         [0006]    In DVB-T receivers, the channel estimation is carried out through pilot signal estimation, and the accuracy of the interpolation depends on the number of pilots present in OFDM symbols. 
       BRIEF SUMMARY OF THE INVENTION 
       [0007]    In accordance with the present invention, a long echo is detected to enable estimation of a channel. The method comprises receiving a sequence of OFDM symbols, each OFDM symbol including data subcarriers and pilot tones. The sequence of OFDM symbols is obtained after frequency down-conversion, I/Q demodulation, analog-to-digital conversion and an FFT operation. Data at the FFT output are stored in a memory module for further processing. TPS signals and pilot tones are extracted. A first pilot tone interpolation is performed to increase the density from 1/12 to ⅓. The enhanced pilot tones are converted to the time domain where a window is applied to remove images of channel profiles and contain the maximum energy. A long echo detector forms squares of absolute values of a subset of subcarriers (for example just one subcarrier) to obtain a power spectrum density (PSD), paddles the remaining symbol period with zero-values, transforms the zero-padded PSD to the time domain using an iFFT operation and obtains a set of N discrete time values. The N discrete time values are compared with a threshold which is calculated from a subset of the N values. Discrete time domain peaks are identified and the distance between them is measured. If a time difference between discrete time domain peaks exceeds a predetermined delay time, the channel is considered to have a long delay and is called a long echo channel and the long echo location is identified. Depending on the value of the obtained delay difference, further processing steps will be selected. For a short-echo channel, a second pilot interpolation scheme is used for the final channel estimation. For a long-echo channel, a third pilot interpolation scheme is used together with a pre/post echo detector which determines the nature of the long echo. For determining the nature of the long echo channel, the interpolated pilot tones according to the third interpolation scheme is transformed to the time domain to obtain a set of Nh amplitude values. The pre/post echo detector searches for an amplitude peak at the proximity of the long echo location. The amplitude peak is compared with an average value obtained from a subset of the Nh values. If the amplitude peak is greater than the average value, the long echo channel is a post-echo channel, otherwise, the long echo channel is a pre-echo channel. In the case of the pre-echo channel, a new time window is placed around the pre-echo location to capture the signal energy as much as possible without the components of inter-symbol interference. In both the pre-echo and post-echo channel cases, two individual windows are placed at the center of the amplitude peaks with location index zero and ΔL to eliminate noisy signal components. The time-window filtered responses are then transformed in the frequency domain after channel estimation. 
         [0008]    In one embodiment of the present invention, a long channel detector in an OFDM receiver system detects a delay spread. Used subcarriers in one OFDM symbol are converted to a power amplitude. The rest of the OFDM symbol is zero-padded and transformed to the time domain, where the long echo channel detector measures the time difference between two peaks. If the time difference is greater than a predetermined time value, a long echo is present in the channel, and the nature of the long echo channel will be determined by a pre-echo-post echo detector. An iFFT operation transforms the interpolated pilots to a set of impulse responses in the time-domain, which are then used for pre/post echo identification. The long echo channel is a pre-echo channel if the peak tap in an impulse response is equal to or less than an amplitude threshold, and a new window is placed around the pre-echo location to obtain maximum energy. Two windows are placed around the two peak values having the time difference greater than the predetermined time value. The accurate channel frequency response is obtained by performing an FFT operation on these time-windowed impulse responses. 
         [0009]    The features, objects, and advantages of embodiments of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0010]      FIG. 1  shows an ODFM sequence with pilot tones periodically scattered within the OFDM symbols, as known in the DVB-T specification. 
           [0011]      FIG. 2   a - c  shows a number of different pilot tone interpolation schemes. 
           [0012]      FIG. 3  is a flowchart for performing long echo detection and channel response estimation in accordance with one embodiment of the present invention. 
           [0013]      FIG. 4  is a flowchart for performing long echo detection in accordance with one embodiment of the present invention. 
           [0014]      FIG. 5  is a flowchart for performing pre/post echo detection in accordance with one example of the present invention. 
           [0015]      FIG. 6  shows a time-domain windowing operation in accordance with one embodiment of the present invention. 
           [0016]      FIG. 7  is a block diagram of an OFDM receiver performing long echo detection and channel estimation in accordance with one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]    In an OFDM receiver, channel estimation is performed in the frequency domain in the signal output from an FFT (Fast Fourier Transform) operation. Initial window placement provides desired samples for FFT which are approximately aligned to the symbols being transmitted. The symbol timing is subsequently estimated more accurately in a channel estimation block. Channel estimation can be performed in the frequency domain by using pilot tones distributed in a periodic fashion throughout the channel; these are transformed by an IFFT (inverse FFT) to yield the time-domain channel impulse response. Once this impulse response is calculated, a more precise window placement is possible so that timing errors introduced by intersymbol interference (ISI) can be removed. 
         [0018]    In DVB-T systems, one in every twelve subcarriers is a pilot tone; the position of the pilot tones changes with each symbol as pilot tones are cycled through each subcarrier. The effective density of pilot tones can be increased by using nearby pilot tones on either side of a pilotless subcarrier to interpolate the channel at the pilotless subcarrier (interpolation within one symbol). Alternatively, pilot values from previous and future symbols can be used to interpolate the channel value for the current symbol at any given subcarrier (interpolation across multiple symbols). The interpolation of pilot tones across symbols is referred to as time-domain interpolation hereinafter since the interpolation is performed in the time dimension. 
         [0019]      FIG. 2   a - c  shows three different across-symbol interpolation approaches, as described in commonly assigned U.S. application Ser. No. 11/870,726. 
         [0020]    The channel in most transmission systems varies with time. In an OFDM-based transmission system, channel will also vary between OFDM symbols, between pilot tones and between the data subcarriers. 
         [0021]    In certain specifications such as the DVB-T, the OFDM demodulator must provide the ability to deal with channels which exhibit long echo (long multipath delay). The specified echo delay (worst case delay spread) may be as long as for example 90% of the length of the guard interval. Such a long echo exceeds the capability of frequency-domain interpolation channel estimation algorithms due to insufficient density of the pilot tones compared with the rapid variation of the channel with respect to frequency caused by the long echo. The result is that the frequency-domain interpolation will cause significant distortion in the estimated channel. In order to circumvent this problem, the system must detect whether a long echo is present and then treat it accordingly. 
         [0022]    The present invention provides a method and apparatus for estimating echo in a transmission environment which causes channel impulse responses to be longer than a certain length. Long channel impulse responses require a precise window placement because an inclusion of a fraction of the guard interval (cyclic prefix) in the window will degrade the effectiveness of pilot-based channel estimation by introducing phase shifts among the pilot tones. 
         [0023]      FIG. 3  is a flowchart of steps carried out to estimate echo, in accordance with one embodiment of the present invention. Flowchart  300  is shown as including first, second and third flowcharts  310 ,  330  and  350 , respectively. Flowchart  310  is used for making coarse and fine automatic frequency control corrections, achieving frequency synchronization, and placing a window at the OFDM symbol boundary without the inclusion of a portion of the guard interval (cyclic prefix). Flowchart  330  is used for the long echo channel detection. Flowchart  350  is used for deciding whether the detected long echo is a pre-echo or a post echo. The present invention estimates the channel multiple times in the time domain to filter out noise and achieve accurate channel estimation. 
         [0024]    Referring to  FIG. 3 , at step  312  fine frequency and timing correction is made and frequency synchronization is achieved. In step  314 , a wait of up to  1  frame is made for the start of a transmission parameter signaling (TPS) block, and a wait of another frame is made until the complete TPS block is received. There is a wait for one or more additional frames, if necessary, until a TPS block is received without errors. 
         [0025]    In step  316  a suitable interpolation scheme is applied to the received scattered pilot tones to obtain in-between values of the channel response. Any interpolation scheme, such as the ones described in U.S. application Ser. No. 11/870,726 may be used. 
         [0026]    In step  318  the interpolated values of pilot tones are transformed to the time-domain using an IFFT operation. In step  320  the sampling time for symbol timing synchronization is adjusted. 
         [0027]    In step  322  a window is placed at the impulse response that is free of any aliasing components. The window can have any shape, but preferably a rectangular shape if channel impulse taps (taps and samples are used alternatively hereinafter to represent time discrete values) are equally distributed over the window with the same energy. 
         [0028]    As shown in flowchart  330 , if a long echo channel is detected in step  332 , a pilot interpolation technique  334  as shown in  FIG. 2   a  is used. If a long echo channel is not detected in step  332 , a pilot interpolation technique  336 , such as that shown in  FIGS. 2   b  and  2   c  are used. 
         [0029]    Step  332  can be summarized as follows: 
         [0030]    1. Forming squares of received subcarriers in one symbol period; 
         [0031]    2. Performing an IFFT on the squared values to convert them to time-domain samples and to obtain a correlation profile;
       i. measuring a time difference ΔL between two peaks in the correlation profile. If the time difference ΔL exceeds a predetermined delay value, perform pilot interpolation of step  334 . If the time difference ΔL is equal to or less than the predetermined echo value, perform pilot interpolation of step  336 ;   ii. Determine the location of the long (pre/post) echo signal and use that to set windowing;       
 
         [0034]    3. Perform an IFFT of the time-domain interpolated pilot tones to obtain the amplitude and phase of the channel impulse response; 
         [0035]    4. Use the windowing information obtained in step  3  to filter out the time aliasing, and perform an FFT to obtain the accurate frequency-domain channel estimate  360 . 
         [0036]    Third flowchart  350  includes, in part, step  352  which transforms the interpolated pilot tones  341  to the time domain, and step  354  which determines if the long echo is a pre-echo or post-echo channel. The long echo channel is considered a post-echo channel if the channel impulse response is greater than a predetermined amplitude level, and a pre-echo channel if the channel impulse response is less than or equal to the predetermined amplitude level. 
         [0037]    If the long echo channel is detected as being a post-echo channel, at step  358  two time-domain windows are centered around zero and ΔL. The width of these two time windows may be determined empirically. If the long echo channel is detected as a pre-echo channel, at step  356  a new time window is placed around the small echo path around zero and the large echo path around ΔL. 
         [0038]    At step  360  an FFT is performed on the channel impulse response that is filtered by the two time windows placed at step  358  to obtain the accurate frequency-domain channel estimate. 
         [0039]    Referring to  FIG. 4 , flowchart  330  shows step  332  in more detail. Step  332  is shown as including steps  410 ,  420 ,  430 ,  440 ,  450  and  460 , described further below. At step  410  the square of frequency data is formed by multiplying the complex values with their conjugate complex values. At step  420  the squared amplitudes  412  are transformed to the time domain values. At step  430  absolute values  432  of the time-domain values are obtained. Step  440  computes a power threshold value by averaging a subset of the absolute values  432  generated in step  430 . Step  450  locates two peak values in the absolute values  432  and determines the time difference “Delta” between them. If Delta is greater than a predetermined value LM, step  336  is performed, step  334  is performed if Delta is not greater than the value LM. 
         [0040]    Flowchart  350  is shown in more detail in  FIG. 5 . Referring to  FIG. 5 , the interpolated pilot tones are transformed to the time domain values at step  352 . Step  354  is shown as including steps  502 ,  504 ,  506 , and  508 , described further below. At step  504 , a subset of the time domain values obtained in step  352  are used to calculate an average amplitude value. At step  506 , the average amplitude value is multiplied by a scaling factor to obtain an amplitude threshold Thd h . The multiplication can be performed for example by a simple left-shift operation. In one embodiment of the present invention, the scaling factor of  8  is obtained by left-shifting the average amplitude value by 3 bits. At step  502 , the peak value h pk  is searched around the ΔL location, which has been obtained at step  450  ( FIG. 4 ). In one embodiment of the invention, the peak amplitude is searched within the range of (ΔL- 20 , ΔL+20) for a total of 40 amplitude values. In another embodiment, the peak amplitude is located at ΔL. At step  508 , the peak amplitude value h pk  is compared with the amplitude threshold Thd h . If the peak amplitude value is greater than Thd h , the long echo channel is a post-echo channel, two windows are applied to the two peaks (found at step  450 ) in step  358 . The long echo channel is a pre-echo channel if the peak amplitude is equal to or less than Thd h , at step  356  a new second window is applied at the pre-echo location and a third window is applied to the other peak positioned at a distance ΔL from the pre-echo location. 
         [0041]    The following sections provide a detailed description of  FIG. 4 . At step  410  the forward FFT provides the frequency domain received signal, r 0 , . . . r N−1 , where N is the number of subcarriers in the OFDM channel. The squared amplitude of the signal  412  is padded with zero values and passed through the IFFT  420 , yielding the power of the time-domain impulse response with which long echo can be detected. 
         [0042]    The received frequency domain signal can be expressed as 
         [0000]        r   k   =H   k S k   +n   k ,  (1) 
         [0000]    where r k  is the received frequency domain subcarrier k, H k  is the channel frequency response at the subcarrier k, and n k  is a complex Gaussian noise. 
         [0043]    The squared magnitude is 
         [0000]        ∥r   k ∥ 2   =∥H   k ∥ 2   ∥s   k ∥ 2   +ñ   k   =∥H   k ∥ 2   +{tilde over ({circumflex over (n)}   k .  (2) 
         [0000]    Because E∥s k ∥ 2 =1, and depending on the modulation order, the ∥s k ∥ 2  can be written as 
         [0000]      ∥ s   k ∥ 2 =1+ {circumflex over (n)}   k   (3) 
       Then, 
       [0044]      ∥ r   k ∥ 2   =∥H   k ∥ 2   +{tilde over ({circumflex over (n)}   k ,  (4) 
         [0000]    where ∥r k ∥ 2  is the squared magnitude of the channel frequency response at frequency ƒ k  plus noise, and where {tilde over ({circumflex over (n)} k  capture all the non-ideal effects as an equivalent “noise” term. 
         [0045]    The frequency domain channel can be written as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       H 
                       k 
                     
                     = 
                     
                       
                         ∑ 
                         
                           l 
                           = 
                           0 
                         
                         
                           Δ 
                            
                           
                               
                           
                            
                           l 
                         
                       
                        
                       
                         
                           γ 
                           l 
                         
                          
                         
                           exp 
                            
                           
                             ( 
                             
                               j 
                                
                               
                                 
                                   2 
                                    
                                   π 
                                    
                                   
                                       
                                   
                                    
                                   kl 
                                 
                                 
                                   N 
                                   FFT 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where γ l  is the l-th channel tap with delay 1, Δl is the path with the largest delay from the first arriving path. Severe long echo cases typically consist of only two paths (a main path and an echo path) since the likelihood of three long echoes is very low. 
         [0046]    Having estimated ∥H k ∥ 2 , the IFFT  420  is used to obtain the magnitude of the time-domain response. This is possible because 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                          
                         
                           H 
                           k 
                         
                          
                       
                       2 
                     
                     = 
                     
                       
                         ∑ 
                         
                           l 
                           , 
                           
                             l 
                             ′ 
                           
                         
                       
                        
                       
                           
                       
                        
                       
                         
                           γ 
                           l 
                         
                          
                         
                           γ 
                           
                             l 
                             ′ 
                           
                         
                          
                         
                           exp 
                            
                           
                             ( 
                             
                               j 
                                
                               
                                 
                                   2 
                                    
                                   
                                       
                                   
                                    
                                   π 
                                    
                                   
                                       
                                   
                                    
                                   
                                     k 
                                      
                                     
                                       ( 
                                       
                                         l 
                                         - 
                                         
                                           l 
                                           ′ 
                                         
                                       
                                       ) 
                                     
                                   
                                 
                                 
                                   N 
                                   FFT 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0000]    After taking the IFFT of (6), the following is obtained: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       R 
                       k 
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             
                               l 
                               - 
                               
                                 l 
                                 ′ 
                               
                             
                             = 
                             k 
                           
                         
                          
                         
                           
                             γ 
                             l 
                           
                            
                           
                             γ 
                             
                               l 
                               ′ 
                             
                           
                         
                       
                       + 
                       
                         
                           ñ 
                           ^ 
                         
                         k 
                         ′ 
                       
                     
                   
                   , 
                   
                     k 
                     ≤ 
                     
                       Δ 
                        
                       
                           
                       
                        
                       l 
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    which is the correlation of the time domain responses plus noise, and Δl is the delay of the last arriving path. 
         [0047]    At step  440  the threshold is calculated by first finding the average power in the channel which is estimated by averaging over a subset of subcarriers, e.g.,  256 , as shown in the example below. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       P 
                       R 
                     
                     = 
                     
                       
                         1 
                         256 
                       
                        
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             Ls 
                           
                           
                             Ls 
                             + 
                             255 
                           
                         
                          
                         
                             
                         
                          
                         
                           R 
                           k 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where the summation (Ls) to (Ls+255) represents a region free of valid signal components if P R  is the noise power.  FIG. 6  shows the result of pilot tone interpolation with density ⅓ in the time domain for one example of the present invention. 
         [0048]    At step  450  an algorithm determines the peak taps of R k  and calculate a maximum delay Δl between the peaks. The maximum delay Δl is then compared against a predetermined value L M , where L M  is some empirically-determined delay threshold. If Δl&gt;L M , a long echo channel is obtained,. If Δl&gt;N FFT /6, the long echo will cause folding back in the time domain response due to ⅓ pilot density. 
         [0049]    At step  460 , once a long echo is detected, the receiver must then determine if the long echo is pre-echo or post-echo. New FFT window placement is necessary since the initial acquisition is not accurate. At step  334  the receiver applies an interpolation scheme shown in  FIG. 2   a  and described in U.S. application Ser. No. 11/870,726 to obtain an effective pilot density of N/3, i.e., one pilot tone in every 3 subcarrier positions. 
         [0050]    Referring to  FIG. 5 , at step  352  an IFFT is performed to obtain the time domain channel taps. These taps contain channel delay profile coming from the long echo. However, since the system has calculated the position of the long echo, time-domain windowing can be effectively applied around this delay components. 
         [0051]    To determine the length of the channel impulse response, it is necessary to find the last tap that exceeds a certain threshold. The first step is to find the peak position of the channel tap by searching all the channel taps within the window (−N FFT /6, N FFT /6) to find the position of the peak, L p . By adjusting the window position, the new time domain channel peak tap will appear at the zero index. 
         [0052]    At step  504  an average amplitude is obtained for example by averaging the tap magnitudes within a range centered around the peak L p  position. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       P 
                       h 
                     
                     = 
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             
                               
                                 L 
                                 p 
                               
                               + 
                               51 
                             
                           
                           
                             
                               L 
                               p 
                             
                             + 
                             306 
                           
                         
                          
                         
                            
                           
                             h 
                             k 
                           
                            
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0053]    At step  506  a threshold for peak detection is obtained for example multiplying the average amplitude by a scaling factor: 
         [0000]        Thd   h   =β*P   h   (10) 
         [0000]    where h k  is the k-th channel tap, N is the number of taps to be averaged over, β h  is an empirically determined factor and L p  is some empirically determined averaging window start point. Only values above Thd k  will be taken into consideration and values below Thd k  will be disregarded. 
         [0054]    If the echo near Δl exceeds a certain threshold, the echo is classified as post echo; otherwise the echo is classified as pre-echo. 
         [0055]    For the post echo, no new window is placed. But there are two time domain windows that need to be set for the channel estimation. The two time domain windows are centered around 0 and Δl, and their widths are determined empirically. 
         [0056]    If the echo is classified as pre-echo, a new window placement is needed. This moves the channel with a smaller delay path to around zero and the channel with a longer path to be centered at Δl. The pre-echo and post-echo channels can be found for example in the single frequency network, where the pre-echo can be from a local transmitter station with a weak transmission power and remote transmitter stations with strong transmission power, and the post-echo can be from a local transmitter station with a strong transmission power and remote transmitter stations with weak transmission power. 
         [0057]    For long echo, the edge filter does not work because the edge filter is designed for the normal fading channel. The maximum delay of the long echo is often greater than the normal fading channel. Therefore, the edge filter will not be used if the channel is detected to be long echo. 
         [0058]      FIG. 7  shows a block diagram of an OFDM receiver  700  according to one embodiment of the present invention and adapted to perform long echo detection and channel estimation for OFDM transmission systems. The OFDM receiver system  700  is shown as including a frequency windowing block  710  which synchronizes the baseband signals at the output of the analog-to-digital converter (ADC) with the FFT block  712 . Subcarriers including TPS carriers and pilot tones are stored in memory module  714 . Memory module  714  can be internal or external to system  700  as TPS extractor  716  and pilot tone extractor  718  may collect the respective TPS information and pilot tones at the FFT  712  output. Pilot interpolator  720  performs any interpolation schemes including the ones describes in U.S. application Ser. No. 11/870,726. Window placer  722  places a time window, such as a rectangular shape, around the impulse response to capture the most impulse energy. Window placer  722  is used several times during the channel estimation process for obtaining maximum baseband signal energy. IFFT block  724  is used many times in receiver  700  to transform the interpolated pilot tones and data subcarriers to the time domain. In one embodiment of the present invention, IFFT  724  is part of FFT  712  as they both perform a similar function. Long echo detector  732  identifies a long echo by calculating the time difference between discrete time domain peaks above a predetermined power threshold. Based on the result of the long echo detection, an appropriate pilot interpolation scheme will be performed. For example, pilot interpolation shown in  FIG. 2   a  is used for the long echo channel, whereas those shown in  FIGS. 2   b - 2   c  are used for a short echo channel. IFFT  724  transforms the interpolated pilots to the time domain, where the long echo will be further classified by Pre/Post-echo identifier  354 . A new time window will be optimally placed on the channel response in the case of the pre-echo to capture the time response energy as much as possible without inter-symbol interference. Block  760  performs an FFT of the channel response to obtain an accurate frequency-domain channel estimate. Data path processor  766  performs the OFDM demodulation functions such as TPS decoding, signal demodulation, de-interleaving, decoding and error correction. The blocks shown in  FIG. 7  may be implemented by an FPGA, an ASIC, or dedicated hardware. In other embodiments, the function of the logic blocks shown in  FIG. 7  may be implemented in software executed by a CPU. In other embodiment, a combination of hardware and software may be used to implement these functions. 
         [0059]    One advantageous embodiment of the present invention is that, based on an estimate of the channel impulse response on an interpolated set of pilot tones, an OFDM demodulator is able to accurately estimate the channel impulse response even in the presence of noise and even when the channel length is longer than the guard interval. 
         [0060]    The above embodiments of the present invention are illustrative and not limiting. Various alternatives and equivalents are possible. The invention is not limited by the type of integrated circuit in which the present invention may be disposed. Nor is the invention limited to any specific type of process technology, e.g., CMOS, Bipolar, or BICMOS that may be used to manufacture the present invention. Other additions, subtractions or modifications are obvious in view of the present disclosure and are intended to fall within the scope of the appended claims.