Patent Publication Number: US-7916799-B2

Title: Frequency offset correction for an ultrawideband communication system

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This Application claims the benefit of U.S. Provisional Patent Application No. 60/788,610, filed on Apr. 3, 2006, incorporated by reference herein. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates generally to frequency offset compensation, and more particularly to frequency offset compensation in an ultrawideband receiver. 
     Communication systems often pass information from a transmitter to a receiver in a manner that makes use of a periodic signal. The periodic signal in many cases is not commonly shared between the transmitter and the receiver, such as by being provided to the receiver by the transmitter. Instead the transmitter and the receiver each generate their own periodic signal at appropriate frequencies. 
     Generally the periodic signals are based on a relatively low frequency signal from a single oscillator, such as crystal oscillator, an LC tank oscillator, a ring oscillator or some other oscillator, and the relatively low frequency signal is multiplied to a frequency or frequencies of interest. Unfortunately, oscillator output very often include variations between oscillators due to manufacturing and temperature variations, such that the frequency of an output oscillation signal may vary slightly from oscillator to oscillator. 
     Differences between oscillation frequencies of transmitters and receivers generally appears as phase shift or clock skew at the receiver. This phase shift may result in the receiver being unable to correctly determine values for received data. For example, for signals which encode multiple bits per symbol period, both amplitude of the signal and phase of the signal are often used to determine the encoded bits. Phase shift in such a received signal may result in an improper decoding of the bits. Similarly, phase shift of received signals which are encoded and decoded in the frequency domain may also result in phase rotation of signals transformed to the frequency domain, again resulting in an improper decoding of bits. 
     In many cases, a receiver may receive transmissions from multiple transmitters, each of which include their own oscillator, and these oscillators may be operating at slightly different frequencies. The receiver, therefore, over time may receive transmissions from many transmitters, and all of the transmissions may be phase-shifted with respect to each other. Thus, a receiver may receive transmissions that are not only phase-shifted, but phase sifted in different amounts depending on the transmitter providing the transmissions. 
     In addition, some communication systems may use a very wide band of the frequency spectrum. Frequency offset may vary for different frequency subbands for such systems and within frequency subbands. Moreover, the transmitters may operate in a bursty fashion, for example providing data in relatively short bursts followed by potentially lengthy periods of inactivity, imposing tight timing requirements on accounting for frequency offset. 
     SUMMARY OF THE INVENTION 
     Aspects of the present invention provide a system and a method of frequency offset estimation and compensation for UWB communications. One aspect of the invention estimates an initial frequency offset, uses the initial frequency offset estimation to correct for subsequent frequency offset, and updates the offset estimate that is used for frequency offset correction. Another aspect of the present invention corrects the frequency offset per subcarrier in an ultrawideband communication system, adjusting each subcarrier&#39;s frequency by a subcarrier-specific factor. These and other aspects of the invention may also be used other types of communications methods and systems. One aspect of the invention utilizes estimates obtained in the time domain as initial estimates of frequency offset and updates the initial estimates utilizing further estimates of the frequency offset obtained from frequency domain processing. One aspect of the invention utilizes estimates obtained from symbols in the preamble of a packet to compensate for frequency offset in preamble symbols and estimates obtained from symbols in the payload to compensate for frequency offset in the payload. 
     In one aspect, a receiver performs initial frequency offset estimation, frequency offset compensation, and frequency offset update tracking. The receiver of the embodiments of the invention estimates an initial frequency offset during preamble transmission, compensates the phase rotation per subcarrier based on the initial frequency estimate by performing complex multiplications after the FFT at the receiver, and improves the initial frequency offset estimate over the duration of the packet by measuring the residual phase rotation after frequency offset compensation, to fine-tune/refine the initial frequency offset estimate. After each update, the receiver compensates the phase rotation per subcarrier based on an updated and current frequency estimate. 
     Another aspect provides a method for frequency offset correction including frequency offset estimation, frequency offset compensation, and frequency offset update tracking. The initial frequency offset estimation may include estimating an initial frequency offset during preamble transmission. The frequency offset compensation may include compensating the phase rotation per subcarrier based on the initial frequency offset estimate by performing complex multiplications after the FFT at the receiver. The initial frequency offset estimate might still be inaccurate after preamble transmission and the frequency offset update tracking may include improving the initial frequency offset estimate over the duration of the packet by measuring the residual phase rotation after frequency offset compensation, to fine-tune/refine the initial frequency offset estimate. The frequency offset compensation may include compensating the phase rotation per subcarrier based on an updated and current frequency offset estimate by performing complex multiplications after the FFT at the receiver. 
     These and other aspects of the invention are more fully comprehended upon consideration of this disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a receiver in accordance with aspects of the invention. 
         FIG. 2  is a flow diagram of a process for frequency offset correction, in accordance with aspects of the invention. 
         FIG. 3  shows an exemplary packet format, used for example in Orthogonal Frequency Division Multiplexing (OFDM) communications. 
         FIG. 4  shows an OFDM symbol structure and frequency subband hopping for UWB. 
         FIG. 5  is a further block diagram of a receiver, according to aspects of the invention. 
         FIG. 6  is a flow diagram of a process for initial frequency offset estimation in accordance with aspects of the invention. 
         FIG. 7  shows an overview of signals involved in computing an initial frequency offset estimate in accordance with aspects of the invention. 
         FIGS. 8   a - e  are a visualization of the initial frequency offset estimation vector in accordance with aspects of the invention. 
         FIG. 9  is a flow diagram of a process for frequency offset compensation in accordance with aspects of the invention. 
         FIG. 10  illustrates frequency offset tilt in frequency domain at output of FFT at a receiver in accordance with aspects of the invention. 
         FIG. 11  is a flow diagram of a process for frequency offset update tracking in accordance with aspects of the invention. 
         FIG. 12  is a plot of the progression of the residual phase offset versus time utilized for frequency offset update tracking in accordance with aspects of the invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram of a receiver in accordance with aspects of the invention. The receiver of  FIG. 1 , for example, may be used in an ultrawideband communication system making use of OFDM symbols. The receiver includes an antenna  101  for receiving signals and a number of processing blocks for and processing received signals. As illustrated in  FIG. 1 , the processing blocks include an amplification and down conversion block  110 , an analog to digital conversion block  120 , a time domain processing block  130 , a Fast Fourier Transform (FFT) block  140 , a frequency offset correction block  145 , a channel and phase estimation and compensation block  150 , and a remapping and decoding block  160 . Also shown in  FIG. 1  is a media access controller (MAC)  190 , which often is not considered part of the receiver, but is nevertheless shown in  FIG. 1  to illustrate a downstream recipient of signals received and processed by the receiver. The various blocks of the receiver are shown as  110 ,  120 ,  130 ,  140 ,  150 ,  160 ,  190  coupled in series, with the output of one generally provided as an input to the next block. 
     The amplification and down conversion block  110  includes circuitry to amplify a received signal, using a transimpedance amplifier for example, and circuitry to down convert the amplified signal to baseband, generally using mixer circuits. In addition, the amplification and down conversion block generally includes further amplification circuits to amplify the down converted signal. In most embodiments the receiver is configured to receive and down convert signals over a wide band frequencies, such as may be found in ultrawideband communication systems, for example as specified in “ Multiband OFDM Physical Layer Specification ”, WiMedia Alliance specification document, version 1.1, May 26, 2005, and “ High Rate Ultra Wideband PHY and MAC Standard ”, ECMA-368, the contents of both of which are incorporated by reference herein. The analog to digital conversion block  120  includes analog to digital conversion circuitry, which is used to convert the baseband signal to a digital signal. The time domain processing block  130  includes circuitry for performing packet detection, frame synchronization, and automatic gain control functions. The time domain processing block also includes circuitry for determining an initial frequency offset estimate. In most embodiments cross-correlation and auto-correlation circuitry are used to determine phase offset based on known sequences in the packet. An initial estimate of the frequency offset is provided to the frequency offset correction block. The FFT block  140  includes circuitry configured to transform the signal from the time domain to the frequency domain. Thereafter, processing enters the frequency domain, with the prior processing being in the time domain. 
     The frequency offset correction block  145  follows the FFT block  140  and includes circuitry to perform frequency offset correction for the frequency domain signal provided by the FFT block. In most embodiments the circuitry is configured multiply the FFT output by a phase rotation factor, with different phase rotation factors applied to signals down converted from different carrier or subcarrier frequencies. The frequency offset correction block  145  receives an initial frequency offset estimate from the time domain processing block  130  and a feedback for updating the frequency offset estimate from the channel and phase estimation and compensation block  150 . As observed from the position of the FFT block  140 , the time domain processing block  130  operates in the time domain and provides a time domain measure of the frequency offset to the frequency offset correction block  145 . The channel and phase estimation and compensation block  150  operates in the frequency domain and provides frequency domain feedbacks to the frequency offset correction block  145 . 
     After the frequency offset correction block  145 , the processing chain continues with the channel and phase estimation and compensation block  150 . The channel and phase estimation compensation block includes circuitry for performing channel estimation and circuitry for performing phase estimation. Results of the channel and phase estimation and compensation block  150  are also used to compensate for multipart fading channels and phase/frequency offset. Phase estimation or tracking uses embedded pilot tones in the packet to estimate the phase offset. Estimates of the phase offset are provided to the frequency offset correction block  145  to update the initial measure of frequency and to further update the subsequent measures. 
     Phase estimation or tracking is followed by remapping, deinterleaving and decoding at the demapping and decoding block  160 . The demapping and decoding block includes circuitry for demapping, for example using schemes such as quadrature phase shift keying (QPSK), dual carrier modulation (DCM), or 16 quadrature amplitude modulation (16 QAM). The demapping and decoding block also includes circuitry for performing decoding, such as Viterbi decoding. 
       FIG. 2  is a flow diagram of a process for frequency offset correction in accordance with aspects of the invention. In some embodiments, the process of  FIG. 2  may be performed by the frequency offset correction block  145  of  FIG. 1 , in conjunction with the time domain processing block  130  and the channel and phase estimation block  150  in many embodiments. In various embodiments, however, frequency offset correction functions are not performed in a separate block, but are instead performed in the block performing phase estimation. 
     The process estimates frequency offset in block  210 . In some embodiments, estimating frequency offset in block  210  includes obtaining an initial estimate of frequency offset in the time domain. In some embodiments frequency offset is estimated by determining phase shift of a received signal compared with an expected signal. For example, a packet preamble may include a predefined pattern, and the process in block  210  may perform a comparison of a received signal with the predetermined pattern to determine phase shift. In many embodiments, the predetermined pattern repeats over time, and a cross-correlation is performed on the received signal and the predetermined pattern to locate the predetermined pattern, and an auto-correlation is performed on the cross-correlation to determine phase shift of the predetermined pattern over time. For received signals separated into I and Q components, angle of the auto-correlation is representative of the phase offset, and of the frequency offset with knowledge of nominal frequency. 
     In many embodiments frequency offset compensation is performed for systems receiving transmissions at many different frequencies, for example many different subcarriers. Accordingly, estimating frequency offset  210  in some embodiments includes determining an initial frequency offset estimate for a particular frequency and then determining an initial frequency offset estimate for each subcarrier based on the initial frequency offset estimate and differences in the particular frequency and frequency of each subcarrier. In most embodiments, however, per subcarrier frequency offset estimates are performed during frequency offset compensation in block  220 . 
     The process compensates for frequency offset in block  220 . Frequency offset compensation  220  is performed by complex multiplication in the frequency domain after the signal has been transformed from the time domain to the frequency domain. Accordingly, for frequency offset compensation  220 , each subcarrier is multiplied by a frequency offset factor in order to undo the frequency offset introduced per each separate subcarrier. 
     The process updates the frequency offset estimate in block  230 . In block  230 , the frequency offset estimate is, in most embodiments, updated from pilot tone based phase estimates of the symbols in the frequency domain, and a corresponding updated value is obtained for each subcarrier. 
     Updating of the frequency offset estimate in block  230  and frequency offset correction or compensation in block  220  are repeated for the duration of the signal or a portion of the signal. At an end of the signal or the predetermined portion of the signal, the process returns. 
     In many embodiments, the operations of the process of  FIG. 2  are used for packet based multi-sub-carrier communication systems. Accordingly, in some embodiments when a packet is received, during the estimating of frequency offset  210 , an initial frequency offset factor is estimated from symbols in the preamble of the packet. This initial frequency offset factor is used to estimate an initial frequency offset for each subcarrier of each symbol. In block  220 , the initial frequency offset estimate is used to compensate for frequency offset in the symbols of the preamble following the symbols used for the initial offset estimation of block  210 . As discussed above, frequency offset in the time domain transforms to phase offset, or rotation, in the frequency domain. Each subcarrier is rotated from its intended position due to frequency offset. The compensation of block  220  is achieved in most embodiments by complex multiplication in the frequency domain that derotates each subcarrier. 
     The payload of a packet may be divided into a header followed by a data portion, although at times the header may be considered part of the preamble by some. The updating of the frequency offset estimate in block  230  is performed during the header and data portion of the packet. The initial frequency offset factor is updated, periodically or upon the occurrence of a specified event, and the updated factor is used to update the subsequent frequency offset estimates that are used for offset compensation. After the symbols have undergone transformation into the frequency domain, the phase offset of pilot subcarriers, in view of channel estimates, may be used to determine residual phase offset for use in updating estimated frequency offset. The estimated frequency offset may be updated after a predefined n symbols, after the phase offset estimate crosses pi or negative pi, or at other times. The updated factor is used to estimate a subcarrier-specific frequency offset that is in turn used to compensate for frequency offset in the symbols following the preamble. 
     Moving forward to  FIG. 5 ,  FIG. 5  is a block diagram of a receiver according to aspects of the invention. The receiver includes blocks involved in frequency offset estimation, compensation and tracking. The receiver includes a number of blocks that process a received signal substantially in a serial manner. A receive antenna  501  receives the RF signal. A downconversion and analog to digital conversion block  510  downconverts the signal from radio frequency to base band and converts it from analog to digital format for digital baseband processing. The downconversion and analog to digital conversion block is followed by a packet detection and frame synchronization block  530  that uses a known packet synchronization sequence in the packet to find the beginning of the packet. An overlap and add and FFT block  550  follows the packet detection and frame synchronization block. The FFT block  550  transforms the signal from time domain to frequency domain. A frequency offset estimation and compensation block  502  follows the FFT block  550  and is discussed in further detail below. 
     A channel estimation and compensation block  570 , and a phase estimation and correction block  590  follow the frequency offset estimation and compensation block  502 . The channel estimation and compensation block  570  includes a channel estimation block  572  and a channel compensation block  575 . The phase estimation and correction block  590  includes a phase estimation block  592  and a phase correction block  595 . These blocks  570 ,  590  use symbols or pilot tunes in the signal to estimate the channel parameters and to estimate the phase of the signal. The channel compensation block  575  is coupled to the channel estimation block  572  that provides an estimate of the channel to the channel compensation block  575 . Both the channel estimation and the channel compensation blocks  572 ,  575  receive the same signal from the FFT block  550 . Similarly, the phase correction block  595  is coupled to the phase estimation block  592  that provides an estimate of the phase to the phase correction block  595 . Both the phase estimation and the phase compensation blocks  592 ,  595  receive the same signal from the channel estimation and compensation block  570 . The estimation blocks  572 ,  592  receive the output of the previous block and provide an estimate of respectively the channel and the phase to their corresponding compensation blocks  575 ,  595 . 
     A demapping block  596 , a deinterleaving block  597 , and a decoding block  598  are also coupled in series and receive the output of the phase estimation and correction block  590 . Demapping may use QPSK or DCM and decoding may use the Viterbi algorithm. The product of decoding block  598  is provided to a MAC interface  599 . 
     The frequency offset estimation and compensation block  502  includes an initial frequency offset estimation block  520 , a current frequency offset estimation block  540 , a frequency offset compensation block  560 , and a frequency offset update tracking block  580 . The initial frequency offset estimation block  520  and the frequency offset update tracking block  580  provide measures of frequency offset to the current frequency offset estimate block  540 . The current frequency offset estimate block uses the measure of frequency offset provided and produces frequency offset estimates for each subcarrier of the signal. The frequency offset compensation block  560  uses the subcarrier-specific estimates of frequency offset provided by the current frequency offset estimate block  540  to compensate for frequency offset in the symbols being received. 
     The internal blocks of the frequency offset estimation and compensation block  502  are coupled together and to the other receiver blocks such that the two estimation blocks receive inputs from different points along the serial chain of processing and provide their estimate of frequency offset to the compensation block that is located within the serial chain of processing with the other receiver block. The initial frequency offset estimation block  520  receives an input from the packet detection and frame synchronization block  530  and provides its output to the current frequency offset estimation block  540 . The current frequency offset estimation block  540  provides an input to the frequency offset compensation block  560 . The frequency offset update tracking block  580  receives an input from the phase estimation block  592  of the receiver and provides an updated estimate of the frequency offset to the current frequency offset estimation block  540 . The frequency offset compensation block  560  that receives the output of the current frequency offset estimate block  540  is located in the chain of serial processing between the FFT block  550  and the channel estimation and compensation block  570  of the receiver. 
     The number and organization of the internal blocks of the estimation and compensation block  502  may vary in different embodiments. For example, an alternative embodiment may do away with the current frequency offset estimate block  540  and the initial estimation block  520  and the update tracking block  580  may provide the subcarrier-specific estimates of frequency offset to the compensation block  560 . 
     In one embodiment, time domain data is used for a portion of frequency offset estimation and frequency domain data is used for another portion. After a signal received by the receiver has gone through packet detection and frame synchronization  530 , it is provided both to the following FFT block  550  and to the initial offset estimation block  520 . The initial frequency offset estimate is provided to the frequency offset compensation block  560  through the current frequency offset estimation block  540 . The compensation block  560  uses the initial estimate to compensate the frequency offset of the signal that is now in the frequency domain because it has gone through the FFT block  550 . This compensation is performed by complex multiplication of each of the signal subcarriers by a compensating factor. The initial estimate of the frequency offset that is provided by the initial frequency offset estimation block  520  from the time domain data, is updated by the current frequency offset estimation block  540  using the updated estimate from update tracking block  580 . The update tracking block  580  receives a current phase estimate of the signal that is now in the frequency domain and updates the frequency offset estimate. 
     In one embodiment, the subcarrier-specific nature of frequency offset estimation, yields more accurate compensation for UWB communication where a larger number of subcarriers are used to cover a wider band of frequency. The frequency offset estimation and compensation block  502  provides subcarrier-specific compensation factors appropriate for UWB. 
     In one embodiment, the initial frequency offset estimation block  520  arrives at an estimate of frequency offset from symbols in the preamble and the initial estimate is used for frequency offset compensation of other symbols in the preamble. The subsequent updates by the frequency offset update tracking block  580  arrive at updated estimates of frequency offset from symbols in the payload. The updated estimate is used for frequency offset compensation of later symbols of the payload. 
     To demonstrate one exemplary embodiment, a correspondence between a packet structure and different stages of frequency offset estimation, compensation and tracking, according to aspects of the invention may be established. The packet structure of  FIG. 3 , is used together with the receiver block diagram of  FIG. 5  and the flow chart of  FIG. 2  to describe an exemplary method and an exemplary system for frequency offset correction, including estimation and compensation, according to aspects of the invention. 
       FIG. 3  shows an exemplary packet format, used for example in OFDM communications. The OFDM symbols may be transmitted in packets that include a number of symbols and  FIG. 3  shows one such exemplary packet The exemplary packet shown in  FIG. 3 , includes a preamble followed by a payload. The preamble includes 24 packet synchronization symbols and 6 channel estimation symbols. The payload includes 12 header symbols (which are sometimes considered part of the preamble) followed by the data symbols. An alternative packet format may include a short preamble that has 12 OFDM symbols. The short preamble may be used for packets that are part of a burst of packets while a packet that has a long preamble is used as the first packet of the burst. 
     An initial frequency offset factor f off,init  is estimated from the last 6 of the packet synchronization symbols of the preamble. The preamble, that is shown, is long and includes 24 packet synchronization symbols. A short preamble includes 12 packet synchronization symbols. The initial frequency offset factor f off,init  is obtained in the time domain and before the received symbols in the packet have undergone transformation from the time domain to the frequency domain. 
     With respect to the receiver of  FIG. 5 , the initial frequency offset factor f off,init  is obtained by the initial frequency offset estimation block  520  that is receiving the symbols after packet detection and frame synchronization in the corresponding block  530 . 
     After the packet synchronization symbols, during reception of the 6 channel estimation symbols, frequency offset compensation is performed in the frequency domain. Frequency offset compensation is performed on outputs of a transformation that transforms the time domain symbols into frequency domain. As explained above, frequency offsets in the time domain appear as phase rotations in the frequency domain. Complex multiplications are used on the frequency domain symbols to de-rotate the phase rotation, that was induced by the frequency offset, per each subcarrier of the symbol. Complex derotating vectors based on the initial frequency offset factor f off,init  are obtained and used to perform the frequency offset compensation separately for each subcarrier. 
     So, after the packet synchronization symbols and still during the preamble, frequency offset compensation is performed using derotating vectors based on the initial frequency offset factor f off,init . 
     With respect to the receiver of  FIG. 5 , the initial frequency offset factor f off,init  that has been obtained by the initial estimation block  520  is provided to the current frequency offset estimation block  540 . At this time, the current estimation block  540  has not received anything from the update tracking block  580  yet. So, the current frequency offset estimation block  540  provides derotating vectors that are based on the initial frequency offset factor f off,init  to the frequency offset compensation block  560 . The initial frequency offset factor f off,init  has the same value for all of the subcarriers. So, the frequency offset compensation block adjusts the initial frequency offset factor f off,init  for each subcarrier to obtain an offset compensation value for the particular subcarrier. 
     After the preamble, and beginning with the reception of the first header symbol, frequency offset update tracking is started. The update tracking seeks to improve the accuracy of the initial frequency offset factor f off,init  over the duration of the packet, using a residual phase estimate obtained from pilot signals embedded in the header and data portion of the packet. Under one standard, 12 pilot signals are placed on 12 subcarriers and are embedded in each OFDM symbol after the preamble. Under different standards, a different number of pilot subcarriers may be embedded. The updated offset factor is denoted f off . The updated offset factor f off  is used to obtain an updated frequency offset estimate that is adjusted for each subcarrier. 
     So, during the header and data part, the most recently updated frequency offset factor f off  is used for frequency offset compensation. 
     With respect to the receiver of  FIG. 5 , the update tracking block  580  receives a measure of the phase of the samples in the symbol from the phase estimation block  595 . The update tracking block  580  provides a correction factor to the current frequency offset estimation block  540 . The current estimation block  540  uses the correction factor to update a previous value of the frequency offset factor f off . The correction factor depends on the tangent of the phase which reaches its maximum and minimum at pi and −pi. Therefore, the update tracking block  580  may start over every time the phase estimate being provided by the phase estimation block  595  wraps around pi or −pi. Alternatively, the update tracking block  580  may start over after a predefined number of symbols. 
     Other embodiments of the method shown in  FIG. 2  may vary according to frequency hopping patterns and configuration of the receiver, for example, inclusion of multiple receive antennas. 
       FIG. 6  is a flow diagram of a process for initial frequency offset estimation, according to aspects of the invention. The process correlates symbols of a received packet in block  610 , averages correlation angles in block  620 , determines angle offset per symbol in block  630 , and accounts for use of a particular frequency and period in block  640 . The process includes correlating symbols of a received packet and the packet synchronization sequence of the packet in block  610 , to determine how well the symbols agree with the known synchronization sequence and how much the symbols are changing from one symbol to the next as a result of frequency offset that is impacting the signal. The process returns at the end of the packet, and may repeat for a following packet. 
     In one embodiment, symbol correlation block  610  includes cross-correlating received samples of symbols with the known packet synchronization symbols to locate packet symbols. For at least some UWB transmissions the packet synchronization symbols may be determined from a time frequency code (TFC) number (further discussed later), which is provided by the MAC. In addition, it should be noted the sign of the packet synchronization symbols in some UWB schemes is modulated by a cover sequence, a sequence of +1 and −1, which depends on the TFC number. Before computing the autocorrelations, the modulation of the cover sequence is removed from the cross-correlation results by multiplying them with the respective value of +1, −1. 
     The cross-correlation results are auto-correlated. For packet synchronization symbols which repeat every symbol, the auto-correlation may be computed as
 
 cc   —   ac ( n )= cc ( n− 1)* cc ( n ).
 
     Preferably the auto-correlation is performed for peaks, or maximum magnitudes, of cross-correlation results, and preferably the auto-correlation is performed over a window of samples about that peak, which reduces the effect of noise on the cross correlation result. In one embodiment the window is 16 samples at a sampling frequency of 528 mega samples per second. 
     The results of the autocorrelation may be represented as complex vectors having a magnitude and an angle. The angle of the autocorrelation vector, such as cc_ac_peak(n), indicating auto-correlation of cross-correlation peaks, is a measure of how much the phase has rotated between the current symbol and the delayed symbol. Angles of autocorrelation values show rotation in the frequency domain or frequency offset in the time domain. 
     Some embodiments of the invention account for frequency hoping over time of received symbols. For example, some systems, such as at least one UWB system, utilize frequency hopping access a wide range of frequencies. For example, UWB systems may use frequencies between 3.1-10.6 GHz. This frequency range is subdivided into 5 band groups. Initial UWB devices operate in band group  1  that ranges from 3.168 GHz to 4.752 GHz. The band group  1  is itself subdivided into the three subbands of 528 MHz bandwidth each. Each OFDM symbol is transmitted on a different frequency subband according to a Time-Frequency Code (TFC) hopping pattern. Table 1 shows examples of TFCs for band group  1  of a UWB communication system. 
     In Table 1, the leftmost column shows the TFC numbers or TFC logical channels ranging from 1 to 7. Subsequent columns show the frequency subbands used for transmission during each normalized time kk for kk=0 through kk=5. Each normalized time corresponds to one OFDM symbol that is transmitted during one subband. The longest hopping period for each of the seven TFC schemes shown in Table 1 is, therefore, six OFDM symbols. 
     
       
         
           
               
               
            
               
                   
                   
               
               
                   
                 time 
               
            
           
           
               
               
               
               
               
               
               
            
               
                   
                 kk = 0 
                 kk = 1 
                 kk = 2 
                 kk = 3 
                 kk = 4 
                 kk = 5 
               
               
                 TFC 
                 subband 
                 subband 
                 subband 
                 subband 
                 subband 
                 subband 
               
               
                 number 
                 number 
                 number 
                 number 
                 number 
                 number 
                 number 
               
               
                   
               
               
                 1 
                 1 
                 2 
                 3 
                 1 
                 2 
                 3 
               
               
                 2 
                 1 
                 3 
                 2 
                 1 
                 3 
                 2 
               
               
                 3 
                 1 
                 1 
                 2 
                 2 
                 3 
                 3 
               
               
                 4 
                 1 
                 1 
                 3 
                 3 
                 2 
                 2 
               
               
                 5 
                 1 
                 1 
                 1 
                 1 
                 1 
                 1 
               
               
                 6 
                 2 
                 2 
                 2 
                 2 
                 2 
                 2 
               
               
                 7 
                 3 
                 3 
                 3 
                 3 
                 3 
                 3 
               
               
                   
               
            
           
         
       
     
     For example,  FIG. 4  shows OFDM symbols that correspond to the TFC hopping pattern of  2  shown in Table 1. The exemplary symbol structure shown for UWB communications includes 128 samples of the symbol followed by a null prefix (NL) and a guard interval (GI) for a total of 165 samples per symbol. Each symbol is transmitted on a different frequency subband. The OFDM symbols shown in  FIG. 4 , hop from frequency subband  3  to  2  to  1  and then back to the frequency subband  3 . For TFC numbers  5 ,  6  and  7 , all the OFDM symbols are transmitted on the same frequency subband. 
     Thus, in one embodiment, a delay of D=6 symbols is used, which coincides with the period of the exemplary frequency hopping pattern being used for demonstration of the method. The choice of 6 symbols provides that the autocorrelation is performed between symbols that belong to the same frequency subband no matter which TFC is being followed. Accordingly, preferably the delay for calculating the autocorrelation vectors is selected to coincide with the period of the frequency hopping pattern of the symbols, to ease processing by ensuring that the autocorrelation is performed between symbols that belong to the same frequency subband. Accordingly, for symbol n, the autocorrelation is computed as an autocorrelation between peak cross correlation values cc_peak:
 
 cc   —   ac _peak( n )= cc _peak( n− 6)* cc _peak( n ).
 
       FIG. 7  shows the last 6 symbols of the packet synchronization symbols of the preamble of a packet including symbols n=0 to n=24. With the first symbol out of the first 24 symbols being denoted as n=0, the last 6 symbols correspond to n=18 to n=23. The last 6 symbols are used in obtaining an initial estimate of the frequency offset. For example, for n=18, the autocorrelation is computed as cc_ac_peak(18)=cc_peak(18−6)*cc_peak(18) and for n=23 the autocorrelation is computed as cc_ac_peak(23)=cc_peak(23−6)*cc_peak(23).  FIG. 7  is exemplary and shows a portion of a packet with a long preamble. More particularly,  FIG. 7  shows the exemplary case of n=22 and n−6=16 and shows that the autocorrelation for the 22nd symbol of the preamble is calculated as cc_ac_peak(22)=cc_peak(16)*cc_peak(22). A packet with a short preamble including 12 OFDM symbols may be used alternatively, in which case the symbols corresponding to n=7 to n=12 would be used to obtain an initial estimate of the frequency offset. 
     The process averages a number of correlation results vectors in block  620 . To reduce noise on the estimate, 6 autocorrelation vectors are summed to obtain the average initial frequency offset estimation vector foff_vec. As an example, the averaged frequency offset estimation vector foff_vec is obtained by adding six autocorrelation vectors corresponding to the 18th to the 23rd packet synchronization sample of the symbol. 
     Thus, the initial frequency offset estimation vector foff_vec, is obtained from the following relationship which presents a summation over n=18 to n=23 of the autocorrelation vectors for the 18 th  to the 23 rd  symbol of the packet: 
             foff_vec   =       ∑     n   =   18     23     ⁢     cc_ac   ⁢   _peak   ⁢       (   n   )     .               
The initial frequency offset estimation vector foff_vec, in this example, is a sum over 6 complex autocorrelation results cc_ac_peak corresponding to the last 6 OFDM symbols of the packet synchronization symbols, n=18, 19, 20, 21, 22, 23.
 
       FIGS. 8   a - e  present a vector visualization of the complex autocorrelation results cc_ac_peak.  FIGS. 8   c - e  show the complex autocorrelation vectors cc_ac_peak of each subband of each of the TFC patterns  1  to  7 . The vectors contributions are shown with respect to the center frequency of frequency subband  2  for TFC patterns of  1 ,  2 ,  3  and  4 . As shown in  FIGS. 8   a - d , for example, use of the center frequency subband for determining auto correlation vectors allows for effective cancellation of angle effects due to the lower and higher frequencies of the other subbands. For TFC patterns  5 ,  6  and  7 , the vector contribution of each frequency subband is shown with respect to the center frequency of its corresponding subband. For example, TFC  5  corresponds to a hopping pattern that stays in frequency subband  1  throughout the transmission. The vector contribution of each of the 6 frequency subbands is shown with respect to the center frequency of subband  1 . As a result, for TFC  5 ,  6  and  7  all of the autocorrelation vectors shown are substantially aligned. 
     From the averaged frequency offset estimation vector foff_vec, the initial frequency offset factor may be computed in block  630  as:
 
 f   off,init ={arc tan( f off —   vec )/(6* T   SYMBOL )}*{1/ f   center }=arc tan( f off —   vec )/6/ T   SYMBOL .1/ f   center  
 
     The above equation presents an initial frequency offset estimate f off,init , which may be considered as in units of ppm. In the above equation, “arc tan” denotes the arc tangent function for computing an angle from the tangent of the angle. The tangent of the angle of a vector representing a complex number is obtained from the ratio of imaginary part over real part of the complex number. So, arc tan(foff_vec) yields the angle of the complex vector foff vec. 
     In the above equation, T SYMBOL  is the duration of one symbol such as an OFDM symbol. In one exemplary embodiment, T SYMBOL =312.5 ns. When the symbol includes 165 subcarriers and covers a frequency subband of 528 MHz, the sampling period T s =1/528 MHz=1.89 ns and the duration of the symbol or the symbol period T SYMBOL =165*T s =312.5 ns. 
     In obtaining the autocorrelation vector cc_ac_peak(n), the cross-correlation vectors cc_peak(n) and cc_peack(n−6) were used. Because a delay or lag of 6 symbols was used, the autocorrelation values thus obtained, reflect the impact of 6 phase offsets. Therefore, the angle of the frequency offset estimation vector, arc tan(foff_vec), is divided by 6 symbol periods, (6*T SYMBOL ), to obtain phase offset for one symbol. 
     In the above equation f center  is the center frequency of the OFDM frequency subband. The factor {1/f center } is included in the equation for f off,init  in order to obtain a value that may be a more useful form in application to specific sub carriers. In various embodiments, however, combination of the factors may be used in varying manners to achieve substantially the same results. 
     The value of the f center  depends on the TFC. For TFC numbers  1  to  4  of Table 1, the hopping is among all three subbands, and f center  is set to the center frequency of the middle subband. For bandgroup  1  in the UWB system of MBOA that ranges from 3.168 GHz to 4.752 GHz and with OFDM subbands of 528 MHz, the center frequency of the middle subband turns out to be f center =3.960 GHz which is obtained from f center =3.168 GHz+528 MHz+(528/2)MHz. 
     For TFC numbers  5 ,  6  and  7 , no frequency hopping is performed and one of the subbands  1 ,  2  or  3  is used exclusively for transmission/reception. Accordingly, f center  is set to the center frequency of the subband being used for the particular TFC. For example, the center frequency is set to the center frequency of subband  1  (3.432 GHz=3.168 GHz+(528/2)MHz.) for TFC  5 , the center frequency of subband  2  (3.960 GHz=3.168 GHz+528 MHz+(528/2)MHz.) for TFC 6, and the center frequency of subband  3  (4.488 GHz=3.168 GHz+528 MHz+528 MHz+(528/2)MHz) for TFC  7 . 
     If more than one receive antenna is used, then all initial frequency offset estimation vectors foff_vec of all the receive antennas may be summed, and the resulting vector is used to compute the initial frequency offset factor f off,init . In most cases all receive RF-chains are driven by the same crystal, and all RF-chains would be expected to have the same frequency offset with respect to the transmitted signal. 
       FIG. 9  is a flow diagram of a process for frequency offset compensation, according to aspects of the invention. The process receives a center frequency in block  920 , and determines subcarrier spacing in block  930 . The center frequency is the center frequency of a sub-band being compensated. Subcarrier spacing depends on the number of subcarriers that are occupying the frequency band being used and the bandwidth of the frequency band. The distance of each subcarrier from the center determines its frequency location. The process uses the location of the subcarrier and a current value of the frequency offset factor to obtain a subcarrier-specific frequency offset for each subcarrier in block  940 . The process derotates each subcarrier by the subcarrier-specific frequency offset in block  950  to compensate the frequency offset associated with the subcarrier. The process afterwards returns. 
     In one embodiment, the center frequency of the symbol subband in block  920 , may be determined from the TFC of the symbol. The subband center frequency, f center , changes with subband hopping and may be taken, for example, as f center =3.960 GHz for the second subband. 
     In one embodiment, determining subcarrier spacing between subcarriers may include dividing frequency bandwidth of a subband by the number of subcarriers in the subband. An exemplary subband may include 128 subcarriers spread over 528 MHz. The subcarrier spacing may be, for example, f sub =4.125 MHz. 
     In one embodiment, the frequency location of each subcarrier based on the center frequency of the subcarrier and the subcarrier spacing in block  930  is obtained from f center +k*f sub , with f center =center frequency of the subband, f sub =subband spacing, and k=number of subcarriers per subband. 
     Similarly, in one embodiment, the subcarrier-specific frequency offset f off, k  for each subcarrier in block  940  is obtained from
 
 f   off, k =( f   center   +k*f   sub )* f   off ,
 
with f off =estimated frequency offset factor, f center =center frequency of the subband, f sub =subband spacing, and k=number of subcarriers per subband.
 
     For example, an exemplary OFDM symbol may include 128 tones. The subcarriers for the tones may be numbered from −64 to 63 for a total of 128 subcarriers. The frequency offset f off, k  for a subcarrier k, when may be given by the equation:
 
 f   off,k =( f   center   +k*f   sub )* f   off , with  k=− 64, . . . ,+63
 
     In one embodiment, the derotating of each subcarrier by the subcarrier-specific frequency offset in block  950  may be performed by a complex multiplication. The rotated subcarrier is multiplied by the complex conjugate of the rotation vector in order to undo the impact of rotation. For example, the frequency offset f off, k  induces a phase rotation of exp(+j 2π f off,k  n T SYMBOL ) per each subcarrier, where n is the symbol index and T SYMBOL  is the duration of one symbol. In one exemplary embodiment being discussed T SYMBOL =312.5 ns. Frequency offset compensation may be accomplished in the frequency domain by multiplying each subcarrier from index −64 to +63 with the complex conjugate of the estimated rotation phase, e.g., by multiplying it with exp(−j 2π f off,k  n T SYMBOL ) which causes a derotation of the rotated subcarrier. 
     The above term can be further separated into a base frequency offset compensation, and a tilt frequency offset compensation.
 
exp(− j  2π( f   center   +k f   sub )* f   off,init    n T   SYMBOL )=exp(− j  2π  f   center    n T   SYMBOL )*exp(− j  2π  k f   sub    n T   SYMBOL )=exp(− j  2π( f   off,center   +k. f   off,sub )* n T   SYMBOL )=exp(− j  2π  f   off,center    n T   SYMBOL )*exp(− j  2π  k. f   off,sub    n T   SYMBOL )
 
The first term, exp(−j 2π f center  n T SYMBOL ), represents the base offset compensation and the second term, exp(−j 2π k. f sub  n T SYMBOL ), represents the tilt offset compensation. Accordingly, in some embodiments a first correction factor is applied to account for base frequency offset and a second correction factor is applied to account for tilt frequency offset.
 
     The effect of tilt frequency offset is illustrated in  FIG. 10 .  FIG. 10  illustrates frequency offset tilt in frequency domain at output of FFT at a receiver, according to aspects of the invention for 11 subcarriers, from the lowest frequency to the highest frequency. 
     Owing to the wideband nature of the signal, the difference in frequency offset between lowest subcarrier frequency and highest subcarrier frequency is significant, and thus a difference in rotation speed shows up. Preferably, each subcarrier should be corrected by both base and tilt frequency offset. 
     If more than one receive antenna is used, the frequency compensation may be performed separately at the FFT output of each receive antenna, but using the same frequency offset estimate. 
       FIG. 11  is a flow diagram of a process for frequency offset update tracking, according to aspects of the invention. The process obtains channel estimates in block  1110 . Channel estimation may be performed by channel estimation blocks, which generally determine channel effects on signals based on variations between expected signals, usually provided by channel estimation symbols, and received symbols. The process continues by estimating residual phase offsets estimates in block  1120 . The residual phase offsets may be determined using pilot tones, accounting for channel effects using the channel estimates. 
     Thus, in one embodiment, during frequency offset update tracking, the phase estimation block of a receiver, such as the receiver of  FIG. 5 , uses the pilot subcarriers embedded in the transmitted signal to derive a residual phase offset estimate Δφ n . Δφ n  is the phase difference between a current symbol n and the channel estimates, as obtained from the channel estimation symbols that arrive at the end of the preamble and before the header. In one exemplary embodiment shown in  FIG. 3 , the channel estimation sequence of the packet includes 6 OFDM symbols that are located after the packet synchronization sequence in the preamble and before the header of the packet. Under some standards, 12 pilot subcarriers may be embedded in the signal that are used to derive the residual phase offset estimate Δφ n . 
     In one embodiment, averaging the residual phase offsets to obtain a correction factor for the frequency offset factor in block  1130  includes finding a maximum likelihood estimate of the residual phase offsets that were obtained in block  1120 .  FIG. 12  is a plot of the progression of the residual phase offset versus time utilized for frequency offset update tracking.  FIG. 12  illustrates the frequency offset update tracking for TFC  5 ,  6 , and  7  that involve no frequency hopping. The cumulative phase offset y n  is a cumulative difference between two successive residual phase offset estimates Δφ n−1  and Δφ n  at discrete times n−1 and n and is plotted versus the discrete time index n. Straight lines connect every two consecutive cumulative phase offset values y n−1  and y n . The slope of the line segments is equal to (y n −y n−1 )/(1 symbol)=Δφ n . Accordingly, when Δφ n  is large the slope of the straight line segment between y n−1  and y n  is large. When Δφ n  is small, the slope of the line segment becomes small. The slope of the line segments is used to estimate a residual frequency offset, which is applied to correct the current frequency offset factor f off . From an average of the slopes, a residual frequency offset can be computed and applied to update the initial frequency offset factor and the previous value of the offset estimate. What are shown as straight lines in the  FIG. 12  are actually and in practice a more noisy set of cumulative phase offset estimates y n  at discrete times n. 
     One phase offset estimate Δφ n  is obtained per symbol n which is an average phase rotation over all of the subcarriers of the symbol n and indicates the base frequency offset. 
     Each line segment of y n  corresponds to one slope Δφ n . From the set of points (n, Δφ n ) the maximum-likelihood estimate of the slope of all or n line segments of y n  is given by 
     
       
         
           
             SLOPE 
             = 
             
               
                 ∑ 
                 
                   n 
                   · 
                   
                     Δφ 
                     n 
                   
                 
               
               
                 ∑ 
                 
                   n 
                   2 
                 
               
             
           
         
       
     
     After each frequency update, the symbol counter n for computing the maximum likelihood slope SLOPE is reset to zero. 
     In some embodiments, correction factors are determined for each subband separately and averaged over the subbands. In that case, maximum likelihood measure of the residual phase offset is obtained for each subband separately and the values are averaged over the number of subbands to obtain one correction factor. 
     In one embodiment, the process in block  1130  determines if the criteria has been met or not. For example, a set number of symbols must be reached or the residual phase offsets must satisfy another criteria. As long as the criteria has not been met, the residual phase offsets are estimated in block  1120 . Once the criteria has been met, the decision block  1130  allows the process to move forward to the next block. The frequency offset update can be, in various embodiments, triggered by various events. For example, the frequency offset update can be triggered when the cumulative phase offset estimate wraps around, i.e. crosses pi or −pi. Alternatively, the frequency offset update may be triggered after a predefined number of symbols. 
     Once the criteria is met in block  1130 , the process updates the previous frequency offset factor in block  1150  by the correction factor obtained in block  1125 . The correction factor in many embodiments is simply added to the frequency offset factor. 
     From the maximum likelihood slope SLOPE, an estimate of the residual frequency offset may be computed as: f off,correction =−SLOPE/(T SYMBOL *f center ) that is also dimensionless and is given in units of ppm. The updated estimate of the frequency offset factor is obtained from f off, new :=f off +f off,correction  or is defined according to the equation:
 
 f   off   :=f   off   +f   off,correction .
 
     In one example discussed above T SYMBOL =312.5 E−9 and f center  varies according to frequency subband. For TFC  1 - 4 , that involve frequency hopping between different frequency subbands, each subband having a different f center , a separate slope and residual frequency offset f off,correction  is computed for each of the three subbands, as outlined above. The residual frequency offset used for updating the frequency offset factor is an average of residual frequency offset f off,correction  over all three subbands. In other words, f off,correction, 1 =−SLOPE/(T SYMBOL *f center 1 ), f off,correction, 2 =−slope/(T SYMBOL *f center 2 ), f off,correction, 3 =−slope/(T SYMBOL *f center 3 ), and finally f off,correction =(f off,correction, 1 +f off,correction, 2 +f off,correction, 3 )/3. 
     For two or more receive antennas, the tracking is performed per receive antenna. The residual frequency offset used for updating the frequency offset estimate is an average over all receive antennas. 
     The process therefore returns, in some embodiments returning to block  1129 . 
     Although exemplary embodiment of the invention have been described, the invention is not limited to the embodiments described and is intended to include various modifications included within the spirit and scope of the claims supported by this disclosure and their equivalents.