Abstract:
A system and method estimates symbol timing of long training symbols and coarse carrier frequency offset in an orthogonal frequency division multiplexing receiver of a wireless local area network. The system and method estimates the symbol timing and coarse carrier frequency offset during short training symbols of a preamble of a data packet. Fine carrier frequency offset is estimated during long training symbols. Channel estimates during a data portion of the data packet are adapted.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application No. 60/273,487, filed Mar. 5, 2001, which is hereby incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to receivers, and more particularly to receivers that measure carrier frequency offset, symbol timing and/or phase noise of an orthogonal frequency division multiplexing signal. 
     BACKGROUND OF THE INVENTION 
     A wireless local area network (WLAN) uses radio frequency (RF) signals to transmit and receive data between electronic devices. WLANs provide all of the features and benefits of traditional hard-wired LANs without requiring cable connections between the devices. In WLANs, transmitters and receivers (often implemented as wireless network interface cards) provide a wireless interface between a client and a wireless access point to create a transparent connection between the client and the network. Alternately, the WLAN provides a wireless interface directly between two devices. 
     The access point is the wireless equivalent of a hub. The access point is typically connected to the WLAN backbone through a standard Ethernet cable and communicates with the wireless devices using an antenna. The wireless access point maintains the connections to clients that are located in a coverage area of the access point. The wireless access point also typically handles security by granting or denying access. 
     IEEE section 802.11(a), which is hereby incorporated by reference, standardized WLANs that operate at approximately 5 GHz with data speeds up to 54 Mbps. A low band operates at frequencies from 5.15 to 5.25 GHz with a maximum power output of 50 mW. A middle band operates at frequencies from 5.25 to 5.35 GHz with a maximum power output of 250 mW. A high band operates at frequencies from 5.75 to 5.85 GHz with a maximum power output of 1000 mW. 
     Because of the high power output, wireless devices operating in the high band will tend to include building-to-building and outdoor applications. The low and middle bands are more suitable for in-building applications. IEEE section 802.11(a) employs orthogonal frequency division multiplexing (OFDM) instead of direct sequence spread spectrum (DSSS) that is employed by IEEE section 802.11(b). OFDM provides higher data rates and reduces transmission echo and distortion that are caused by multipath propagation and radio frequency interference (RFI). 
     Referring now to  FIG. 1 , data packets include a preamble  10  that is specified by IEEE section 802.11(a). The preamble  10  includes a plurality of short training symbols  12  (S 0 , . . . , S 9 ). The short training symbols  12  are followed by a guard interval  14  (Guard) and two long training symbols  16 - 1  and  16 - 2  (L 0 , L 1 ). The duration of the short training symbol  12  is T short , the duration of the guard interval  14  is T G12 , the duration of the long training symbols  16  is T long , the duration of the guard interval  15  for data symbols is T G1 , and the duration of data symbols  18  is T data . Guard intervals  15  and data symbols  18  alternate after the long training symbols  16 . According to IEEE section 802.11(a), T short =0.8 μs, T G1 =0.8 μs, T G12 =1.6 μs, T long =3.2 μs, and T data =4 μs. 
     One important task of the OFDM receiver is the estimation of symbol timing and carrier frequency offset. Symbol timing is needed to determine the samples of each OFDM symbol that correspond to the guard interval and the samples that are used for fast Fourier transform (FFT) processing. Compensation of the carrier frequency offset is also needed to maximize signal amplitude and minimize inter-carrier interference (ICI). 
     Conventional symbol timing circuits correlate two halves of a single OFDM training symbol whose duration is equal to the duration of the data symbols. For example, see the symbol timing circuit disclosed in T. Schmidl and D.C. Cox, “Robust Frequency and Timing Synchronization for OFDM”, IEEE Trans. Commun., vol. 45, no. 12, (December 1999), pp. 1613–1621, which is hereby incorporated by reference. The conventional symbol timing circuit exhibits a plateau when there is no intersymbol interference (ISI). The duration of the plateau is the duration of the guard interval that is not affected by ISI. The plateau in the conventional symbol timing circuit corresponds to the range of acceptable times for the start of the frame. For example, the center of the plateau is a desirable estimate of the symbol timing. Since only one training symbol is employed, the conventional symbol timing circuit does not allow time for possible switching of antennas and corresponding AGC settling during packet detection. 
     SUMMARY OF THE INVENTION 
     A system and method according to the invention estimates carrier frequency offset in an orthogonal frequency division multiplexing receiver of a wireless local area network. Short training symbols of a preamble of a data packet are sampled to generate a received signal. Sign bits of real and imaginary components of the received signal are quantized. 
     In other features, the sign bits of at least two adjacent short training symbols are used to generate a correlation signal. A filtered sum of an absolute value of a real component of the correlation signal and an absolute value of an imaginary component of the correlation signal are generated. 
     In still other features, a local maximum value of the filtered sum is identified during the short training symbols. The local maximum value is identified by updating and storing the filtered sums and by comparing at least one filtered sum to a prior filtered sum and to a subsequent filtered sum. 
     In still other features, the local maximum value of the filtered sum is multiplied by a threshold value to identify a right edge of a plateau. A right time index value corresponding to the right edge is identified. Symbol timing of long training symbols is calculated from the right time index value. 
     In still other features, a maximum value of the filtered sum is identified during the short training symbols. The maximum value is identified by updating and storing the filtered sums and by comparing at least one filtered sum to a prior filtered sum and to a subsequent filtered sum. A time index value corresponding to the maximum value is identified. A correlation signal value corresponding to the time index value is identified. An imaginary component of the correlation signal value corresponding to the time index value is calculated. A real component of the correlation signal value corresponding to the time index value is calculated. The imaginary component is divided by the real component to generate a quotient. An arctangent of the quotient is calculated to generate a coarse carrier frequency offset estimate. 
     In other features of the invention, a system and method estimates fine carrier frequency offset in an orthogonal frequency division multiplexing receiver of a wireless local area network. A symbol timing estimate is generated that identifies a start time of first and second long training symbols of a preamble of a data packet. The first and second long training symbols of the preamble are used to generate a received signal. The first and second long training symbols are correlated to generate a correlation signal. A fine carrier frequency offset is calculated from the correlation signal. 
     In yet other features, the step of calculating includes calculating imaginary and real components of the correlation signal. The imaginary component is divided by the real component to generate a quotient. An arctangent of the quotient is calculated to generate the fine carrier frequency offset estimate. 
     In other features of the invention, a system and method updates channel estimates in an orthogonal frequency division multiplexing receiver of a wireless local area network. The channel estimates are generated for an orthogonal frequency division multiplexing subcarrier as a function of subcarrier index values. A complex number is generated by summing a product of frequency domain signals and the channel estimates for each of the subcarrier index values and dividing the sum by a sum of a squared absolute value of the channel estimate for each of the subcarrier index values. The complex number is multiplied by the channel estimates to generate said updated channel estimates. 
     In still other features of the invention, a system and method adapt a carrier frequency offset estimate in an orthogonal frequency division multiplexing receiver of a wireless local area network. Channel estimates are generated for an orthogonal frequency division multiplexing subcarrier as a function of subcarrier index values. A complex number is generated by summing a product of frequency domain signals and the channel estimates for each of the subcarrier index values. The sum is divided by a sum of a squared absolute value of the channel estimate for each of the subcarrier index values. An imaginary component of the complex number is calculated. 
     In yet other features, the imaginary component is multiplied by an adaptation parameter to generate a product. The product is added to a carrier frequency offset estimate to produce an adapted carrier frequency offset estimate. 
     Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: 
         FIG. 1  illustrates a preamble of a packet transmitted by an orthogonal frequency division multiplexing receiver according to the prior art; 
         FIG. 2  is a functional block diagram of an OFDM transmitter according to the present invention; 
         FIG. 3  is a functional block diagram of an OFDM receiver according to the present invention; 
         FIG. 4  is a simplified functional block diagram of the OFDM receiver of  FIG. 3 ; 
         FIG. 5  is a graph illustrating M n  as a function of a time interval n; 
         FIG. 6  is an exemplary functional block diagram for calculating M n  and P n ; 
         FIG. 7  is a flowchart illustrating steps for calculating symbol timing, carrier frequency offset and phase noise; 
         FIG. 8  is an exemplary functional block diagram for calculating updated channel estimates and an adapted carrier frequency estimate; 
         FIG. 9  is a flowchart illustrating steps for calculating the updated channel estimates; and 
         FIG. 10  is a flowchart illustrating steps for calculating the adapted carrier frequency estimate. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. 
     Referring now to  FIG. 2 , an OFDM transmitter  30  is shown. The OFDM transmitter  30  includes a data scrambler  32  that receives input bits and scrambles the bits to prevent long strings of 1&#39;s and 0&#39;s. An output of the data scrambler  32  is input to a convolutional encoder  34  that adds redundant bits. For example, for each input bit the convolutional encoder  34  may generate two output bits in a rate ½ convolutional coder. Skilled artisans can appreciate that other code rates may be employed. An output of the convolutional encoder  34  is input to an interleaver and symbol mapper  36 . 
     An output of the interleaver and symbol mapper  36  is input to a serial to parallel (S/P) converter  38 . Outputs of the S/P converter  38  are input to an inverse fast Fourier transform (FFT) circuit  40 . Outputs of the inverse FFT circuit  40  are input to a parallel to serial (P/S) converter  42 . An output of the P/S converter  42  is input to a cyclic prefix adder  44  that adds guard interval bits. An output of the cyclic prefix adder  44  is input to a waveform shaper  46 . An output of the waveform shaper  46  is input to a digital to analog (D/A) converter  48 . An output of the D/A converter  48  is input to a radio frequency (R/F) amplifier  50  that is connected to an antenna  52 . In a preferred embodiment, the OFDM transmitter  30  complies with IEEE section 802.11(a). 
     Referring now to  FIG. 3 , an OFDM receiver  60  receives the RF signals that are generated by the OFDM transmitter  30 . The receiver  60  includes antennas  62 - 1  and  62 - 2 . A switch  64  selects one of the antennas  62  based upon the strength of the RF signal detected by the antenna  62 . An amplifier  66  is connected to an output of the switch  64 . An analog to digital (A/D) converter  68  is connected to an output of the amplifier  66 . An automatic gain control (AGC), antenna diversity and packet detection circuit  70  is connected to an output of the A/D converter  68 . When the gain of the AGC decreases, a packet is detected. A symbol timing and carrier frequency offset circuit  74  according to the present invention is connected to an output of the circuit  70 . The symbol timing and carrier frequency offset circuit  74  identifies a carrier frequency offset ω Δ , a starting time n g  of a guard interval, and phase noise as will be described more fully below. The circuit  74  typically multiples the samples by e −jω   Δ   n  where n is a sample time index. 
     A cyclic prefix remover  76  is connected to an output of the symbol timing and carrier frequency offset circuit  74 . A S/P converter  78  is connected to an output of the cyclic prefix remover  76 . A FFT circuit  80  is connected to an output of the S/P converter  78 . A P/S converter  82  is connected to an output of the FFT circuit  80 . A demap and deinterleave circuit  84  is connected to an output of the P/S converter  82 . 
     A channel estimator  86  that estimates multipath is connected to an output of the symbol timing and carrier frequency offset circuit  74 . A frequency equalizer (FEQ)  90  is connected to an output of the channel estimator  86 . An output of the FEQ  90  is input to the demap and deinterleave circuit  82 . An output of the demap and deinterleave circuit  82  is input to a sample recovery clock  94  and to a Viterbi decoder  96 . An output of the sample recovery clock  94  is input to the A/D converter  62 . An output of the Viterbi decoder  96  is input to a descrambler  98 . 
     Referring now to  FIG. 4 , a simplified functional block diagram of  FIG. 3  is shown and includes a radio frequency (RF) amplifier  100  that amplifies the received RF signal. An output of the amplifier  100  is input to a multiplier  102  having another input connected to a local oscillator (LO)  104 . An output of the multiplier  102  is filtered by a filter  108  and input to an analog to digital (A/D) converter  110  having a sampling rate of 1/T s . The A/D converter  110  generates samples r n . A typical value for 1/T s  is 20 MHz, although other sampling frequencies may be used. During the initial periods of the short training symbol  12 , the circuit  70  brings the signal within a dynamic range of the OFDM receiver  60 . Antenna selection for receive diversity is also performed. 
     After packet detection and AGC settling, the following quantities are computed for estimation of OFDM symbol timing:
 
 q   n   =sgn [           ( r   n )]+ jsgn [ℑ( r   n )]

               P     n   ⁢               =       ∑     m   =   1     L     ⁢           ⁢       q     n   +   m   -     2   ⁢   L       *     ⁢     q     n   +   m   -   L                   M   n =α s   M   n−1 +(1−α s )(|           ( P   n )|+|ℑ( P   n )|)
     Where L=T short /T s  is the number of samples in one short training symbol,             is a real component of an argument, and ℑ is an imaginary component of the argument. A typical value for L is L=16, although other values may be used. q n  contains sign bits of real and imaginary components of the received signal r n . Quantization simplifies the hardware processing for symbol timing acquisition. P n  represents a correlation between two adjacent short training symbols of q n . M n  represents a filtered version of |         (P n )|+|ℑ(P n )|. The filter is preferably a single pole filter with a pole α s . A typical value of α s  is α s =1−3/32, although other values may be used.
     Referring now to  FIG. 5 , a plot of M n  for a multipath channel having a delay spread of 50 ns is shown. M n  has a plateau at  120  that results from the periodicity of the channel output due to the repetition of the short training symbols. The duration of the plateau depends on the number of periods of the short training symbol that remain after antenna selection and AGC settling. Therefore, a center of the plateau is not the best symbol timing estimate. A falling edge of the plateau indicates that no more short training symbols are present and that M n  includes samples from the guard interval  14  that precedes the long training symbols  16 . Therefore, the falling edge of the plateau provides an estimate of the symbol timing. 
     After AGC settling, P n  and M n  are calculated. A left edge n 1  of the plateau  120  is defined by M n &gt;τ 1 A. Typical values for τ 1  and A are τ 1 =0.7 and A=32/(T s ▪20 MHz). A maximum value of M n  is updated and stored as M n,max  as time progresses. The complex number P n  corresponding to M n,max  is denoted by P n,max , which is also updated and stored as time progresses. A local maximum value M n,localmax , is set equal to M n−1  if the following conditions are met: M n−1 ≧M n−2  and M n−1 &gt;M n . The local maximum value M n,localmax  is updated and stored as time progresses. 
     A time index n g  is set to n−1 if the following conditions are met: M n &lt;τ 2  M n,localmax  and M n−1 ≧τ 2  M n,localmax . The index n g  is used to determine the symbol timing. A typical value for τ 2  is τ 2 =0.9. To determine a right edge n r  of the plateau  120 , M n  must stay below τ 1 M n,max  for at least B consecutive samples. A typical value for B is B=8/(T s ▪20 MHz). Once n r  is determined, the coarse frequency offset ω Δ  is determined by:
 
ω Δ =tan −1 [ℑ( P   n,max )/           ( P   n,max )]/( L )
 
A coarse frequency correction e −jω   Δ   n  is applied to the received signal. The symbol timing is then estimated by n g ′=n g −n Δ . A typical value for n Δ  is n Δ =32.

     Referring now to  FIGS. 6 and 7 , an exemplary implementation of the coarse frequency and symbol timing circuit  70  is shown. Typical parameter values include L=32, τ 1 =0.7, A=64, τ 2 =0.7, B=15, n Δ =25, T s =40 MHz, and α s =1−3/32. A low pass filter (LPF)  150  is connected to a sign-bit quantizer  152 . The sign-bit quantizer  152  is connected to a buffer  154  and a multiplier  156 . An L-1 output of the buffer  154  is connected to a conjugator  158  and a multiplier  160 . A 2L-1 output of the buffer  154  is connected to a conjugator  162 , which has an output connected to the multiplier  160 . An output of the multiplier  160  is connected to an inverting input of an adder  164 . An output of the multiplier  156  is connected to a non-inverting input of the adder  164 . An output of the adder  164  is input to an adder  170 . An output of the adder  170  is equal to P n  and is connected to a delay element  172  that is fed back to an input of the adder  170 . The output of the adder  174  is also input to a metric calculator  174 . 
     An output of the metric calculator  174  is connected to a multiplier  176 . Another input of the multiplier is connected to a signal equal to 1−α s . An output of the multiplier is input to an adder  180 . An output of the adder  180  is equal to M n  and is connected to a delay element  182 , which has an output that is connected to a multiplier  184 . The multiplier  184  has another input connected to α s . An output of the multiplier  184  is connected to an input of the adder  180 . 
     Referring now to  FIG. 7 , steps performed by the coarse frequency circuit and symbol timing circuit  74  is shown generally at  200 . Control begins in step  202 . In step  204 , M nmax , M nlocalmax , n 1 , n r , n s , n g , n max , and ctr are initialized. In step  204 , control determines whether n 1 =0 and M n &gt;τ 1 A. If true, control sets n 1 =n in step  208  and continues with step  210 . If false, control determines whether M n &gt;M nmax . If true, control continues with step  212  where control sets M nmax =M n  and nmax=n and then continues with step  214 . If false, control continues with step  214  where control determines whether both M n−1 &gt;M n−2  and M n−1 &gt;M n . 
     If true, control sets M nlocalmax =M n−1  and then continues with step  218 . If false, control determines whether M n &lt;τ 2 M nlocalmax  and M n−1 ≧τ 2  M nlocalmax  in step  218 . If true, control sets n g =n−1 in step  220  and continues with step  224 . If false, control determines whether n 1 &gt;0 and M n−1 &gt;τ 1 M nmax  in step  224 . If true, control sets ctr=0 in step  226  and continues with step  230 . If false, control determines whether n 1 &gt;0 in step  232 . If true, control sets ctr=ctr+1 in step  234  and continues with step  230 . In step  230 , control determines whether ctr=B or n=10L-1. If false, control sets n=n+1 in step  234  and returns to step  206 . If true, control sets n r =n−B in step  238 . In step  240 , control calculates ω Δ =tan −1 [Im(P nmax )/Re(P nmax )]/(L) and ρ=(1−ω Δ /ω carrier ). In step  242 , control estimates a start of long training symbol using n g ′=n g −n Δ . 
     IEEE section 802.11(a) specifies that the transmit carrier frequency and sampling clock frequency are derived from the same reference oscillator. The normalized carrier frequency offset and the sampling frequency offset are approximately equal. Since carrier frequency acquisition is usually easier than sampling period acquisition, sampling clock recovery is achieved using the estimate of the carrier frequency offset ω Δ . 
     The coarse frequency estimate ω Δ  is used to correct all subsequent received samples. The coarse frequency estimate ω Δ  is refined during the long training symbols specified in IEEE section 802.11(a). r 0,n , and r 1,n  (n=0, . . . , N−1) are the received samples that are associated with the long training symbols  16 - 1  and  16 - 2  (or L 0  and L 1 ), respectively. The value N is the number of samples contained within each long training symbol  16 . A typical value for N is N=64 (for 1/T s =20 MHz) (where L=16 and n Δ =32). The estimate of fine frequency offset ω Δ,fine  is obtained by:
 
ω Δ,fine =tan −1 [ℑ( C   L )/           ( C   L )]
 
where

               C   L     =       ∑     n   =   1       N   -   1       ⁢           ⁢       r     0   ,   n     *     ⁢     r     1   ,   n                 
The sampling clock is also updated accordingly.
 
     The residual frequency offset and phase noise are tracked during the data portion of the OFDM packet. Ĥ k  are channel estimates for the OFDM subcarriers as a function of the subcarrier index k. The channel estimates Ĥ k  are multiplied by a complex number Ĉ ML  to compensate for common amplitude and phase error due to the residual frequency offsets and phase noise. P k , kεK, are received frequency domain signals on the pilot tones after the known BPSK modulation is removed, where K={−21, −7, 7, 21}. The pilot tones are used to derive a maximum likelihood estimate of Ĉ ML : 
                 C   ^       M   ⁢           ⁢   L       =         ∑     k   ⁢           ⁢   ε   ⁢           ⁢   K       ⁢           ⁢         H   ^     k   *     ⁢     P   k             ∑     k   ⁢           ⁢   ε   ⁢           ⁢   K       ⁢           ⁢              H   ^     k          2               
The new channel estimates are then {tilde over (H)} k =Ĉ ML Ĥ k . These updated channel estimates are used in the frequency equalizer (FEQ) for data detection.
 
     The carrier frequency estimate ω Δ  is adapted by:
 
ω Δ   l =ω Δ   l-1 +βℑ(Ĉ ML )
 
where β is an adaptation parameter and the subscript 1 represents values during the 1-th OPDM data symbol. A typical value of β is β=1/1024. The sampling clock frequency is also adapted accordingly.
 
     Since the guard interval  14  of an OFDM data symbol is longer than the channel impulse response, an additional tolerance factor is provided in the symbol timing estimate. In order to obtain a symbol timing estimate within an acceptable range, a modified symbol timing estimate n g ′ is generated. The modified symbol timing estimate n g ′ is equal to n g −n Δ  where n Δ . A typical value for n Δ  is n Δ =32 when L=16. 
     Referring now to  FIG. 8 , an exemplary circuit  250  for calculating the updated channel estimates and the adapted carrier frequency estimate ω Δ  is shown. The circuit includes multipliers  256 - 1 ,  256 - 2 , . . . ,  256 - n  that multiply Ĥ* k  and P k , for kεK. Absolute value circuits  260 - 1 ,  260 - 2 , . . .  260 - n  calculate an absolute value of Ĥ k . Outputs of the absolute value circuit  260  are squared by multipliers  264 - 1 ,  264 - 2 , . . . ,  264 - n . Outputs of the multipliers  256  are input to an adder  266 . Outputs of the multipliers  264  are input to an adder  270 . An output of the adder  266  is input to a numerator input of a divider  272 . An output of the adder  270  is input to a denominator input of the divider  272 . An output of the divider  272  Ĉ ML  is input to a multiplier  274 . Another input of the multiplier  274  is connected to Ĥ k . An output of the multiplier  274  generates {tilde over (H)} k . 
     An output of the divider  272  is input to an imaginary component circuit  280  that outputs an imaginary component of Ĉ ML . An output of the imaginary component circuit  280  is input to a multiplier  284 . Another input of the multiplier is connected to the adaptation parameter β. An output of the multiplier  284  is input to an adder  286 . Another input of the adder is connected to ω Δ   l-1 . An output of the adder  286  generates ω Δ   l  which is the adapted carrier frequency estimate. 
     Referring now to  FIG. 9 , steps for calculating new channel estimates are shown generally at  300 . In step  302 , control begins. In step  304 , channel estimates Ĥ k  are obtained. In step  306 , frequency domain signals P k  on the pilot tones are obtained after BPSK modulation is removed. In step  308 , the conjugates of the channel estimates Ĥ k  are multiplied by the frequency domain signals P k  and summed for each value of K. In step  310 , Ĉ ML  is computed by dividing the summed product generated in step  308  and divided by the sum for each value of k of the squared absolute values of Ĥ k . In step  312 , the channel estimates Ĥ k  are multiplied by Ĉ ML  to obtain new channel estimates {tilde over (H)} k . Control ends in step  314 . 
     Referring now to  FIG. 10 , steps for generating the adapted carrier frequency estimate are shown generally at  320 . Control begins in step  322 . In step  324 , the imaginary component of Ĉ ML  is generated. In step  326 , the imaginary component of Ĉ ML  is multiplied by the adaptation parameter β. In step  328 , the product of step  326  is added to ω Δ   l-1  (the l-1th carrier frequency offset estimate) to generate ω Δ   l . Control ends in step  330 . 
     In an alternate method for calculating coarse frequency according to the present invention, after packet detection and AGC settling, the following quantities are computed for estimation of OFDM symbol timing: 
     
       
         
           
             
               
                 P 
                 n 
               
               = 
               
                 
                   ∑ 
                   
                     m 
                     = 
                     1 
                   
                   L 
                 
                 ⁢ 
                 
                   
                     r 
                     
                       n 
                       + 
                       m 
                       - 
                       
                         2 
                         ⁢ 
                         L 
                       
                     
                     * 
                   
                   ⁢ 
                   
                     r 
                     
                       n 
                       + 
                       m 
                       - 
                       L 
                     
                   
                 
               
             
             ⁢ 
             
                 
             
           
         
       
     
                 R   n     =       ∑     m   =   1     L     ⁢            r     n   +   m   -   L            2         ⁢                   M   n   =|P   n | 2   /R   n   2    
     Where L=T short /T s  is the number of samples in one short training symbol. A typical value for L=16, although other values may be used. P n  represents a correlation between two adjacent short training symbols. R n  represents an average received power in a short training symbol. M n  represents a normalized correlation between two adjacent short training symbols. 
     M n  exhibits the plateau at  120  due to the repetition of the short training symbol. In other words, M n  is a maximum value as a sample window moves across the short training symbols  12  after packet detection and AGC settling. P n  correlates received signals for two adjacent short training samples. Preferably, the sampling window has a duration of 2L, although other durations are contemplated. 
     The duration of the plateau  120  depends upon the number of periods of the short training symbol that remain after antenna selection and AGC settling is complete. Therefore, the center of the plateau  120  of M n  is not usually the best symbol timing estimate. The right edge of the plateau  120  indicates that no more short training symbols are present. Samples that occur after the right edge of the plateau include samples from the guard interval  14  that precedes the long training symbols  16 . Therefore, the right edge of the plateau  120  provides a good estimate of the symbol timing. 
     After packet detection and AGC settling, M n  is computed. M max  is the maximum of M n  and n max  corresponds to a time index at which M max  occurs. Points n 1  and n r  are left and right edges of the plateau  120 , respectively. The points n 1  and n r  are identified such that M n1 ≈M nr ≈τ 1 M max  and n 1 &lt;n max &lt;n r . In other words, n 1  and n r  are the points preceding and following the maximum of M n  that are equal to a threshold τ 1  multiplied by M max . A typical value for τ 1  is 0.7. The center of the plateau  120  is estimated by the midpoints n c =(n r +n 1 )/2. 
     The carrier frequency offset Δf is estimated by:
 
α=tan −1 [ℑ( P   nc )/           ( P   nc )]
 
Δ f =α/(2π T   short ) which is valid if |Δ f|&lt; 1/(2 T   short ).
 
For example, |Δf|&lt;1/(2T short )=625 kHz for T short =0.8 μs. The estimate of the carrier frequency offset Δf may be refined using a correlation of the two long training symbols after the sample timing is determined as will be described below.

     In order to detect the falling edge of the plateau of M n , the mean absolute difference of M n  near the center of the plateau is computed: 
               D   K     =       (     1   /   K     )     ⁢       ∑     n   =       n   c     -     (     K   /   2     )     +   1           n   c     +     (     K   /   2     )         ⁢           ⁢            M   n     -     M     n   -   1                        
Where K is the number of terms in the estimate of the mean absolute difference. A typical value for K is (n r −n 1 )/2. The sample index n g  at the beginning of the guard interval  14  preceding the long training symbols  16  is estimated by detecting the right or following edge of the plateau of M n . In other words, n g  satisfies the following conditions:
 n g &gt;n c      M   n     g     &lt;M   n     g     −1    | M   n     g     −M   n     g−1   |&gt;τ 2   D   K      n   g   ′=n   g   −nΔ   
A typical value for τ 2  is 10.
 
     Since the guard interval  14  of an OFDM data symbol is longer than the channel impulse response, an additional tolerance factor is provided in the symbol timing estimate. In order to obtain a symbol timing estimate within an acceptable range, a modified symbol timing estimate n g ′ is generated. The modified symbol timing estimate n g ′ is equal to n g −n Δ  where n Δ  is a small number that is less than the number of samples in the guard interval for a data symbol. For IEEE 802.11(a), the number of samples in the guard interval for a data symbol is L, which is the number of samples in a short training symbol. For example, a typical value for n Δ  is L/4. 
     The identification of the precise time that M n  decreases from the plateau  120  (e.g. when the short training symbols  12  end) may vary somewhat. To accommodate the possible variation, the modified symbol timing estimate n g ′ provides additional tolerance. With the modified symbol timing estimate n g ′, a sampling window begins earlier in the guard interval  14 . 
     IEEE section 802.11(a) specifies that the transmit frequency and sample clock frequency are derived from the same reference oscillator. Therefore, the normalized carrier frequency offset and sampling period offset are approximately equal. Since carrier frequency acquisition is more simple than sampling period acquisition, sampling clock recovery is achieved using the estimate of the carrier frequency offset. 
     The initial carrier frequency offset estimate Δf 0  is obtained during the short timing symbols  12  in the preamble  10  of each packet as previously described above. Each complex output sample of the A/D converter  68  is adjusted using a current carrier frequency offset estimate Δf. If the original sampling period (before acquisition) is equal to T orig , the first update of the sampling period is:
 
 T   0   =T   orgi (1−(Δ f   0   /f   nominal )).
 
Where f nominal  is the nominal carrier frequency. The estimate of the carrier frequency offset during the long training symbols  16  is used to obtain Δf 1 =Δf 0 +ε 1 . The corresponding update of the sampling period is:
 
 T   1   =T   0 (1−(ε 1   /f   nominal ))
 
     During the OFDM data symbols that occur after the long training symbols  16 , four subcarriers are used for pilot tones. After removing the known binary phase shift key (BPSK) modulation of the pilot tones, the main phase of the 4 pilots is determined to estimate a residual carrier frequency offset, ε n , where n is the index of the OFDM symbol. For each OFDM symbol, the update of the carrier frequency offset and the sampling period is given by:
 
Δ f   n   =Δf   n−1 +βε n  
 
 T   n   =T   n−1 (1−(βε n   /f   nominal ))
 
Where β is a loop parameter. This method is currently being used with a zero order hold after IFFT in the transmitter  30  (to model D/A).
 
     Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.