Patent Publication Number: US-10326632-B2

Title: Blind carrier synchronization method of OFDM wireless communication systems

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a continuation under 35 U.S.C. § 120 of U.S. patent application Ser. No. 15/235,052, filed Aug. 11, 2016, and entitled “Blind Carrier Synchronization Method of OFDM Wireless Communication Systems,” which itself is a non-provisional conversion of, and claims the benefit of priority under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 62/203,750, filed Aug. 11, 2015, and entitled “Blind Carrier Synchronization Method for OFDM Wireless Communication Systems,” which is hereby incorporated by reference in its entirety for all purposes. Additionally, U.S. Pat. Nos. 9,048,979 and 9,048,980 are each hereby incorporated by reference in their entirety for all purposes. 
    
    
     BACKGROUND 
     In an orthogonal frequency division multiplexed (OFDM) system, carrier frequency offset (CFO) produces the same phase drift at all subcarrier indices, while sampling frequency offset (SFO) introduces a phase rotation which increases linearly with the subcarrier index. The impact of CFO and SFO are the loss of the orthogonality of the subcarrier, which results in inter-carrier interference (ICI) and the rotation of constellation points. To mitigate the impact of CFO and SFO, a two-step process is known: 1) Estimation of CFO and SFO; and 2) Correction of CFO and SFO based on the estimation. 
     There are three major methods for CFO/SFO estimation, as described in Z. Gao, et al, “Self-Cancellation of Sample Frequency Offset in OFDM Systems in the Presence of Carrier Frequency Offset”, IEEE VTC September 2010 Ottawa, Canada, pp. 1-5, hereby incorporated by reference in its entirety. 
     SUMMARY 
     A blind and partial blind frequency synchronization method for orthogonal frequency divisional multiplexing (OFDM) systems is presented in this document. Based on the same principle developed in U.S. Pat. No. 9,048,979 (Park), hereby incorporated by reference in its entirety, the single-carrier method of Park can be extended to perform both frequency synchronization and phase alignment for communication systems with OFDM modulation, i.e., systems with multiple carriers. With the method presented in this document, the CFO/SFO estimation error can be reduced to single digits of ppb in a realistic application environment. This makes a high data throughput OFDM system more feasible in a variety of applications. Furthermore, if the communication network is first synchronized, the CFO/SFO between users will be small enough that there will be no need for CFO and CFO estimation and correction at the receiver side. This can further reduce the complexity of receiver design for OFDM systems. The methods presented herein can also be applied to systems with any kind of complex signal at the receiver. 
     Systems and methods are disclosed herein for blind frequency synchronization. In one embodiment, a method is disclosed, comprising: downconverting a received orthogonal frequency division multiplexed (OFDM) signal to baseband; identifying, from the downconverted received signal, a series of OFDM symbols in the time domain; performing a fast Fourier transform (FFT) on a block of several time domain samples to turn the time domain OFDM symbols into frequency domain OFDM symbols, one sample per subcarrier in the received OFDM signal; computing a cross-correlation between in-phase and quadrature samples in each subcarrier and for each frequency domain OFDM symbol, wherein the cross-correlation may be computed as a sum of products of either squares or absolute values of the in-phase and quadrature samples; and summing the computed cross-correlation across the series of symbols and across all subcarriers to determine a frequency offset for the received OFDM signal. 
     The method may be performed at a radio receiver. A quantity of the series of symbols may be based on an arbitrarily-configured number sufficient to cause a synchronization algorithm to converge to within a desired error range. The summed cross-correlation may be a cumulative phase measurement. A subset of the received symbols that may be repeated symbols that have been inserted for carrier synchronization may be discarded. The method may be initiated at device power on, upon signal acquisition, at scheduled intervals, or upon detecting a loss of synchronization, with a same number of input samples being used each time the method may be performed. 
     The received OFDM signal may be quadrature amplitude modulation (QAM) modulated. The received OFDM signal may be a Wi-Fi, WiMAX, WiGig, or Long Term Evolution (LTE) signal. The series of OFDM symbols in the time domain may be a subset of the received OFDM symbols. 
     The method may further comprise processing the received OFDM signal with the frequency offset. The method may further comprise using the frequency offset to achieve time synchronization with a transmitter of the received OFDM signal. 
     In another embodiment, a blind frequency synchronization method is disclosed, comprising: obtaining orthogonal frequency domain multiplexed (OFDM) symbols from a received information signal that may be in the time domain; performing a Fourier transform on the time domain OFDM symbols to obtain OFDM symbols in the frequency domain; and determining a frequency offset based on an estimated correlation between the in-phase signal samples and the quadrature signal samples summed over each subcarrier and summed over each frequency domain OFDM symbol. 
     The time domain OFDM symbols may be baseband OFDM symbols, and may further comprise obtaining the OFDM symbols from the information signal by downconverting a received modulated carrier signal with a local oscillator (LO) signal to produce baseband OFDM symbols. 
     The method may further comprise processing the received information signal using the frequency offset to correct for frequency offset in the received information signal. 
     The method may further comprise using the frequency offset to achieve time synchronization with a transmitter of the received information signal. 
     The estimated correlation between the in-phase signal samples and the quadrature signal samples may be based on squared in-phase samples and squared quadrature samples, or may be based on absolute values of in-phase samples and absolute values of quadrature samples. 
     Determining the frequency offset may further comprise time averaging and integrating a product of either squares of or absolute values of the in-phase signal and the quadrature signal. 
     Determining the frequency offset may further comprise calculating: 
               ∑   m     ⁢           ⁢       ∑   l     ⁢           ⁢     {                I   R     ⁡     (     l   ,   m     )            2     ⁢              Q   R     ⁡     (     l   ,   m     )            2       }             
where m refers to each subcarrier, l refers to each OFDM symbol, I_R (l,m) refers to an in-phase part of an mth subcarrier in an lth OFDM symbol, and Q_R (l,m) refers to a quadrature part of the mth subcarrier in the lth OFDM symbol.
 
     Alternatively, determining the frequency offset may further comprise calculating: 
               ∑   m     ⁢           ⁢       ∑   l     ⁢           ⁢     {              I   R     ⁡     (     l   ,   m     )            ·            Q   R     ⁡     (     l   ,   m     )              }             
where m refers to each subcarrier, l refers to each OFDM symbol, I_R (l,m) refers to an in-phase part of an mth subcarrier in an lth OFDM symbol, and Q_R (l,m) refers to a quadrature part of the mth subcarrier in the lth OFDM symbol.
 
     In another embodiment, a system is disclosed, comprising: a radio receive chain for receiving an input orthogonal frequency domain multiplexed (OFDM) signal; a baseband processor coupled to the radio receive chain capable of computing a Fourier transform; and a non-transitory computer-readable medium comprising instructions that, when executed by the baseband processor, cause the system to perform steps comprising: obtaining orthogonal frequency division multiplexed (OFDM) symbols from the input OFDM signal that may be in the time domain; performing a Fourier transform on the time domain OFDM symbols to obtain OFDM symbols in the frequency domain; and determining a frequency offset based on an estimated correlation between the in-phase signal samples and the quadrature signal samples summed over each subcarrier and summed over each frequency domain OFDM symbol. 
     The Fourier transform may be performed on a digital signal processor. The obtaining of the OFDM symbols may be performed by the radio receive chain. The determination of the frequency offset may be performed at a general purpose processor. The baseband processor may be a field-programmable gate array (FPGA). The system may include a local oscillator, a fraciontal-N frequency synthesizer, a low noise amplifier, a downconverter, an analog baseband processor, a digital baseband processor, or some combination thereof. The system may permit a frequency source, such as a local oscillator, to be corrected with an output signal based on the frequency offset computed by the baseband processor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a general OFDM-based system. 
         FIG. 2  is a bit error rate (BER) performance of IEEE 802.11g in the presence of carrier frequency offset (CFO), in accordance with some embodiments. 
         FIG. 3  illustrates a signal processing flow in some embodiments of an improved OFDM system. 
         FIG. 4  is a schematic illustration of the operations of equation (20), in accordance with some embodiments. 
         FIG. 5  is a flow chart of a frequency and phase synchronization procedure, in accordance with some embodiments. 
         FIG. 6  is a simulated performance plot of frequency synchronization of an OFDM system with QPSK, in accordance with some embodiments. 
         FIG. 7  is a simulated performance plot of frequency synchronization of an OFDM system with 64-QAM, in accordance with some embodiments. 
         FIG. 8  is a schematic system diagram showing a first scenario for using a proposed frequency synchronization method, in accordance with some embodiments. 
         FIG. 9  is a schematic system diagram showing a second scenario for using a proposed frequency synchronization method, in accordance with some embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     As mentioned above, three major methods exist for CFO/SFO estimation. 
     The first method is cyclic prefix (CP)-based estimation. The performance of this method relies on the length of the CP and the delay spread of the multipath channel. 
     The second method is a pilot-based method. The pilot signals can be inserted at the beginning of each data frame or scattered within each data frame. The problem with this method is that, because the pilot signals are just a small portion of the symbol, it always takes several tens of OFDM symbols for the tracking loop to converge. 
     The third method is a decision-directed (DD) method. One problem of this method is that when SFO is large, the hard decisions are not reliable, so the decisions can be obtained only by decoding and re-constructing the symbol, which requires more memory and computational complexity. 
     For correcting CFO/SFO, generally speaking, there are two methods. The first method is interpolation/decimation. The CFO/SFO is corrected by resampling the baseband signal in the time domain. The problem with this method is that the complexity is too high for high-speed broadband applications. The second method is rotation of the constellations in the frequency domain. The basis for this method is mentioned above, that is, the CFO/SFO in the time domain causes phase shifts that are linearly proportional to the subcarrier index in the frequency domain. The advantage of this phase rotation method is its low complexity. However, the performance of such method relies on the accuracy of CFO/SFO estimation. This statement is also true for any correction method. 
     Regarding the techniques published so far on CFO/SFO estimation and correction, first, all the estimation methods are based on some information or property of an OFDM signal such as preambles or pilot symbols. Second, the accuracy of estimation is around 100 ppb to 1 ppm level for moderate SNR values. These levels of accuracy may be fine for applications with relatively short data frames. However, their effectiveness will be limited to supporting higher order modulation with long data frames, as shown in  FIG. 2 . They certainly will be subject to more severe challenges with 256-QAM and data lengths of, e.g., 65,535 octets in the IEEE 802.11n standard and 1,048,575 octets in the IEEE 802.11ac standard. Third, it is a fundamentally difficult challenge to achieve a high accuracy of CFO/SFO estimation and at the same time to maintain an acceptable level of complexity for CFO/SFO correction in a high data rate OFDM communication system. 
     OFDM technology is widely used in wireless communication systems, such as WLAN, WiMax, WiGig, DVB-T, and LTE 4G networks, due to its high spectrum efficiency and robust performance against multipath fading. However, OFDM systems are sensitive to carrier frequency offset (CFO) and sampling frequency offset (SFO) due to the fact that both the transmitter and receiver use different frequency oscillators. For instance, in the IEEE 802.11g WLAN standard, the maximum frequency difference between the transmitter and receiver can reach up to 96 kHz, which can have a severe impact on data throughput without correction. Tremendous effort has been made to mitigate the impairments of CFO and SFO by estimating and then correcting these offsets. However, system performance is still limited by the limited accuracy of these estimations. 
     The inventors have understood and appreciated that the prior art, namely Park (U.S. Pat. No. 9,048,979), utilizes the orthogonality of I and Q within a received IQ signal in the time domain to characterize a frequency offset of the received IQ signal. However, the method of Park is a single-carrier method and is not directly applicable to OFDM modulated signals, which are multi-carrier, frequency modulated and multiplexed. Orthogonality is present, but is not apparent from the I and Q signals directly because the orthogonality is between I and Q of each subcarrier, not between the I and Q of the frequency-multiplexed signal. The orthogonality of I and Q of the multiplexed signal is not independent but is dependent on the underlying subcarriers. To solve this problem, the disclosed method separates out each of the paired I and Q information signals that are present in the frequency-multiplexed OFDM signal before computing cross-correlation according to the Park method. This results in a method that permits blind frequency synchronization even for frequency-multiplexed signals. 
     In one embodiment, a system at a receive circuit is configured to perform synchronization based on a received signal as follows. A received signal is downconverted to baseband and broken up into a series of OFDM symbols, the number of symbols based on an arbitrarily-configured number sufficient to cause the synchronization algorithm to converge to within a certain error range, such as +/−5 ppb. The OFDM symbols are initially in the time domain. A fast Fourier transform (FFT) is performed to turn these time domain symbols into OFDM symbols in the frequency domain. As one OFDM symbol is made up of a block of several frequency domain samples, a block of several time-domain samples is transformed via FFT into one OFDM symbol (based on the preconfigured number of subcarriers in the OFDM signal). 
     Once a series of frequency domain OFDM symbols is created via FFT, each of these symbols is fed into the method of Park and a cross-correlation is summed over each subcarrier over a number of the frequency domain OFDM symbols. 
     The cross-correlation is computed as the sum of the products of either a square or absolute value of the in-phase and quadrature samples. This sum may also be considered a cumulative phase measurement. 
     The cross-correlation is summed across the series of symbols and across all subcarriers to determine a frequency offset for the entire received signal. 
     In some embodiments a subset of the received symbols may be discarded, for instance, repeated symbols that have been inserted for carrier synchronization, or symbols located by frequency in the middle of a transmission band. In some embodiments, the synchronization procedure may be initiated at device power on, upon signal acquisition, at scheduled intervals, or upon detecting a loss of synchronization, in some embodiments with the same number of input samples being used each time the synchronization procedure is performed. The method is generally applicable to OFDM signals of different bandwidths, to QAM modulation or other types of modulation, and to other frequency domain multiplexing techniques aside from OFDM. 
     The disclosed method is suitable for use with OFDM or other spread spectrum multi-carrier transmission techniques. The disclosed method may be applied across Wi-Fi, LTE, or other waveforms and radio transmission techniques. As described, the method may help to achieve superior time synch, may help in implementation of a superior positioning method through better time synchronization, and may permit better network synchronization via more precise frequency offset correction. 
     As with Park, the disclosed method has the advantage that it is a purely blind synchronization method that does not require a special beacon signal or preamble, instead relying on a purely stochastic approach that can be adapted to virtually any signal. The disclosed method is also superior to existing beacon-based methods in that it utilizes the entire signal energy of the received signal. 
     The disclosed method works with any type of QAM modulation, e.g., QPSK, 16 QAM, 64 QAM, 256 QAM, and other types of QAM modulation. The disclosed method also can use a subset of the available subcarriers to achieve synch, requiring only that a certain number of samples be available for processing. This permits the method to be used by an individual user that may not have access to all available subcarriers, e.g., a user equipment (UE) on an LTE network, which typically only has a small fraction of the available bandwidth at any time. 
     In this document, we consider the IEEE 802.11g WLAN OFDM system as an example system which can be enhanced as follows. As used herein, the term OFDM shall refer to any orthogonal frequency division multiplexing scheme, including but not limited to commonly known OFDM schemes. 
       FIG. 1  shows a The methods and conclusions herein can be applied to any OFDM-based system. generic OFDM system block diagram. S/P stands for serial to parallel conversion, FFT stands for Fast Fourier Transform, P/S stands for parallel to serial conversion, and IFFT stands for Inverse Fast Fourier Transform. Block  101  is a serial-to-parallel block which receives a series of digital bits from over a digital interface from a computer or other digital device. S/P  101  takes the original bits, which arrive already modulated (details not shown) in a single frequency domain stream, splits them into several digital streams, and sends them to inverse FFT block  102 . 
     IFFT  102  takes a set of digital bits (a “block”) in the time domain and applies an IFFT function, turning them into symbols in the time domain. Parallel to serial block  103  takes the set of symbols from IFFT  102  and multiplexes them into a single stream of symbols in the time domain using an OFDM modulation. The multiplexed single stream is sent over channel  104 , which may be an air interface such as Wi-Fi or LTE, to a receiver. Details of the receive and transmit chains, such as upconversion and downconversion to/from carrier frequency, amplification, antennas, etc. are omitted in this diagram. 
     On the receive side, serial/parallel block  105  receives the output of an antenna and receive chain (not shown). The received signal is a series of symbols in the time domain. FFT  106  takes the received signal and transforms it from the time domain to the frequency domain, then sends it to parallel to serial block  107 , which separates out the different frequency multiplexed symbol streams. 
     The sequence d=[d 0  d 1  d 2  . . . d N−1 ] is a sequence of complex numbers that represents the constellation points of data signals in the frequency domain. The output of the IFFT block is the signal of N samples:
 
 s ( k )=Σ i=0   N−1   d   k   e   j2πik/N   ; k= 0,1, . . . , N− 1  (1)
 
     Where d k  stands for OFDM symbol on the k&#39;th subcarrier, N is the number of total sub-carriers. In case of AWGN channel and without CFO and SFO, the received signal can be expressed as:
 
 r ( k )= s ( k )+ n ( k ),  (2)
 
     for the OFDM demodulator, where n(k) is the complex Gaussian noise. 
     At the receiver side with ideal frame synchronization, the transmitted signal can be recovered by FFT:
 
 R ( i )=Σ k=0   N−1   r ( k ) e   −j2πki/N   ; i= 0,1, . . . , N− 1  (3)
 
     Finally we have:
 
 R ( i )= d   i   +n   i   , i= 0,1, . . . , N− 1  (4)
 
     where n i  is the complex Gaussian noise. 
     However, if the sampling frequencies at DAC and ADC are different due to the transmitter and receiver using different local oscillators, CFO and SFO exist in the baseband signal at the output of the ADC. The impact of the sampling frequency difference on the baseband signal quality will be explained next. 
     In the presence of a CFO of Δf s  and a SFO of ε s , the time domain samples r(k) is given by:
 
 r ( k )=Σ i=0   N−1   d   i   e   j2π(i+Δf     s     )k(1+ε     s     )/N   ;k= 0,1, . . . , N− 1  (5)
 
     Where Δf s  represents relative frequency offset normalized by fs/N, ε s  represents the relative sampling frequency error 
                 ɛ   s     =       Δ   ⁢           ⁢     f   s       N       ,         
and fs is the sampling frequency. For simplicity, here it is assumed that both CFO and SFO stem from the same frequency source error. The method presented in this document can be easily extended to the case that both CFO and SFO are independent. Focusing the impact of SFO, at the output of FFT, we have [2]:
 
     
       
         
           
             
               
                 
                   
                     
                       
                         R 
                         ⁡ 
                         
                           ( 
                           m 
                           ) 
                         
                       
                       = 
                       
                         
                           
                             e 
                             
                               
                                 - 
                                 j 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               π 
                               ⁢ 
                               
                                 
                                   N 
                                   - 
                                   1 
                                 
                                 N 
                               
                               ⁢ 
                               m 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ɛ 
                                 s 
                               
                             
                           
                           ⁢ 
                           
                             
                               sin 
                               ⁡ 
                               
                                 ( 
                                 
                                   π 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   m 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   
                                     ɛ 
                                     s 
                                   
                                 
                                 ) 
                               
                             
                             
                               sin 
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     π 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     m 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       ɛ 
                                       s 
                                     
                                   
                                   N 
                                 
                                 ) 
                               
                             
                           
                           ⁢ 
                           
                             d 
                             m 
                           
                         
                         + 
                         
                           W 
                           ⁡ 
                           
                             ( 
                             m 
                             ) 
                           
                         
                         + 
                         
                           
                             ∑ 
                             
                               
                                 i 
                                 = 
                                 0 
                               
                               
                                 i 
                                 ≠ 
                                 m 
                               
                             
                             
                               N 
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               d 
                               i 
                             
                             ⁢ 
                             
                               
                                 sin 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     π 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     m 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       ɛ 
                                       s 
                                     
                                   
                                   ) 
                                 
                               
                               
                                 sin 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       π 
                                       ⁡ 
                                       
                                         [ 
                                         
                                           
                                             i 
                                             ⁡ 
                                             
                                               ( 
                                               
                                                 1 
                                                 + 
                                                 
                                                   ɛ 
                                                   s 
                                                 
                                               
                                               ) 
                                             
                                           
                                           - 
                                           m 
                                         
                                         ] 
                                       
                                     
                                     N 
                                   
                                   ) 
                                 
                               
                             
                             ⁢ 
                             
                               e 
                               
                                 j 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 π 
                                 ⁢ 
                                 
                                   
                                     N 
                                     - 
                                     1 
                                   
                                   N 
                                 
                                 ⁢ 
                                 i 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   ɛ 
                                   s 
                                 
                               
                             
                             ⁢ 
                             
                               e 
                               
                                 - 
                                 
                                   
                                     j 
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       π 
                                       ⁡ 
                                       
                                         ( 
                                         
                                           i 
                                           - 
                                           m 
                                         
                                         ) 
                                       
                                     
                                   
                                   N 
                                 
                               
                             
                           
                         
                       
                     
                     ; 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       m 
                       = 
                       0 
                     
                     , 
                     1 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       N 
                       - 
                       1 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
     Three different effects can be observed from equation (6): 
     An amplitude attenuation by a factor of 
     
       
         
           
             
               
                 sin 
                 ⁡ 
                 
                   ( 
                   
                     π 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     m 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ɛ 
                       s 
                     
                   
                   ) 
                 
               
               
                 sin 
                 ⁡ 
                 
                   ( 
                   
                     
                       π 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       m 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ɛ 
                         s 
                       
                     
                     N 
                   
                   ) 
                 
               
             
             , 
           
         
       
     
     A phase shift of symbol d m ; 
     An inter-carrier interference (ICI) due to a loss of orthogonality between the sub-carriers. (The third term in equation (6)). 
     The performance degradation in terms of SNR is shown in  FIG. 2 , showing a BER of 256 QAM with a packet length of 1000 bytes. As an example, shown as plot  200 , the IEEE 802.11g-based OFDM system is simulated with coding rate of r=½. The standard requires that for frame length of 1000 octets, the BER should be equal to or less than 10^(−5). Our system simulation results in  FIG. 2  show that with carrier frequency offset of 100 ppb, 4 dB SNR degradation is observed at BER of 10^(−5) versus a system without CFO. If the frequency offset is larger than 150 ppb, the system can never reach a BER of 10^(−5) requirement even with high SNR. 
       FIG. 3  illustrates a signal processing flow in some embodiments of an improved OFDM system. As shown in  FIG. 3 , we use IEEE 802.11g as an example to show signal processing flow in an exemplary OFDM system. Area  310  represents a series of steps performed at a transmitting node and area  320  represents a receiving node. Signal  301  is a digital baseband frequency domain signal, numbered d l,k , where 1 is the symbol number and k is a sample number. Signal  302  is also a digital baseband frequency domain signal, where l is the symbol number and represents the last in a series of symbols from 1 to l. The value of l can be varied based on configuration of the system, with tradeoffs: without a sufficient number of symbols, synchronization may not be achieved to a desired level of accuracy, but processing more symbols requires greater sampling time and processing time. 
     At the transmitter side, frequency modulated signals d l,k =[d l,1  d l,2  . . . d l,64 ] are transformed to a time domain signal s(l, k), k=1, . . . , 64, by IFFT, shown as samples  305 . The last 16 samples of s(l, k),  303  is inserted at the front of the 64-sample block signal to form one OFDM symbol in the time domain. This operation results in simple channel equalization in OFDM system. Samples  303 ,  305  are a first symbol in the frequency domain and the time domain, respectively, and samples  304 ,  306  are an lth symbol in the frequency and the time domains, respectively. 
     At the receiver side, data sequence r(l, k) is received in time domain after ADC. R(l, i) is obtained after FFT based on frame synchronization information. Symbol  307  in the time domain is 80 samples long due to a need for frame synchronization; after FFT into the frequency domain, transformed symbol  309  is 64 samples long. Symbols  307  and  309  are a first symbol, i.e., l=1; symbols  308  and  310  are an lth symbol for the highest allowed value of l, in the time domain and the frequency domain, respectively. The coefficients of symbol  308  reflect the fact that the total number of samples collected for any one iteration of the present offset detection/synchronization algorithm is l*80. 
     Assuming the sampling frequency is Fs and the FFT size is N for the OFDM system, the received signal in the frequency domain with frequency offset error of ε can be expressed as in [4], as: 
     
       
         
           
             
               
                 
                   
                     
                       
                         R 
                         ⁡ 
                         
                           ( 
                           
                             l 
                             , 
                             i 
                           
                           ) 
                         
                       
                       = 
                       
                         
                           
                             e 
                             
                               
                                 
                                   - 
                                   j 
                                 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   v 
                                   l 
                                 
                                 ⁢ 
                                 
                                   ɛ 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       1 
                                       + 
                                       
                                         i 
                                         N 
                                       
                                     
                                     ) 
                                   
                                 
                               
                               ⁢ 
                               
                                   
                               
                             
                           
                           ⁢ 
                           
                             H 
                             i 
                           
                           ⁢ 
                           
                             d 
                             
                               l 
                               , 
                               i 
                             
                           
                         
                         + 
                         
                           W 
                           ⁡ 
                           
                             ( 
                             
                               l 
                               , 
                               i 
                             
                             ) 
                           
                         
                       
                     
                     , 
                     
                       i 
                       = 
                       0 
                     
                     , 
                     1 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       63 
                       ; 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       l 
                       = 
                       1 
                     
                     , 
                     2 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       N 
                       ofdm 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     Where, 
                 v   l     =     π   ⁢       N   -   1   +     2   ⁢           ⁢     N   l         N         ;         
N l =lN s +N g ; l is number of OFDM symbols, i is the number of subcarrier indices within each OFDM symbol, N g  is the guard interval length with N S =N+N g , N ofdm  is the number of OFDM symbols in one data frame, and H i  is the channel response in subcarrier of i. For example, in an IEEE 802.11g WLAN system, N=64; N g =16. Again, here it assumed that both CFO and SFO are from the same local oscillator error.
 
     Removing the constant phase rotation applied to every signal and the noise term, the equation (7) can be simplified to: 
     
       
         
           
             
               
                 
                   
                     
                       
                         R 
                         ⁡ 
                         
                           ( 
                           
                             1 
                             , 
                             i 
                           
                           ) 
                         
                       
                       = 
                       
                         
                           e 
                           
                             
                               - 
                               j 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             2 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             π 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               lN 
                               s 
                             
                             ⁢ 
                             
                               ɛ 
                               ⁡ 
                               
                                 ( 
                                 
                                   1 
                                   + 
                                   
                                     i 
                                     N 
                                   
                                 
                                 ) 
                               
                             
                           
                         
                         ⁢ 
                         
                           H 
                           i 
                         
                         ⁢ 
                         
                           d 
                           
                             l 
                             , 
                             i 
                           
                         
                       
                     
                     , 
                     
                       i 
                       = 
                       0 
                     
                     , 
                     1 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       63 
                       ; 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       l 
                       = 
                       1 
                     
                     , 
                     2 
                     , 
                     … 
                     ⁢ 
                     
                         
                     
                     , 
                     
                       N 
                       ofdm 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     For a given i=m, we can define a new sequence in time index of l by taking every 64th sample from R(l, i) as:
 
 R ( l,m )= e   −j2πlε     m     H   m   d   l,m   ,l= 1,2, . . . , N   ofdm   (9)
 
     where 
     
       
         
           
             
               ɛ 
               m 
             
             = 
             
               ɛ 
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   
                     N 
                     s 
                   
                   ⁡ 
                   
                     ( 
                     
                       1 
                       + 
                       
                         m 
                         N 
                       
                     
                     ) 
                   
                 
                 . 
               
             
           
         
       
     
     Since ε m  is unknown, we can form a new sequence with potential frequency offset of ε′. Define 
               Δ   ⁢           ⁢     ɛ   m       =         ɛ   m     -       ɛ   m   ′     ⁢           ⁢   and   ⁢           ⁢     ɛ   m   ′         =       ɛ   ′     ⁢         N   s     ⁡     (     1   +     m   N       )       .               
Multiplying Equation (9) by e j2πlε′ , we have:
 
 U ( l,m ,ε′)= R ( l,m ) e   j2πlε′     m     =e   −j2πlΔε     m     H   m   d   l,m   ,l= 1,2, . . . , N   ofdm   (10)
 
     We define the real and imaginary part of equation (9) as:
 
 I ( l,m )=real( H   m   d   l,m )
 
 Q ( l,m )=imag( H   m   d   l,m ), l =1,2, . . . , N   ofdm   (11)
 
     We rewrite the real and imaginary part of equation (10) as
 
 I   R ( l,m ,ε′)=real( U ( l,m ,ε′))= I ( l,m )cos(2π lΔε   m )− Q ( l,m )sin(2π lΔε   m )
 
 Q   R ( l,m ,ε′)=imag( U ( l,m ,ε′))= Q ( l,m )cos(2π lΔε   m )+ I ( l,m )sin(2π lΔε   m )   (12)
 
     We define the objective function as the following cross-covariance between I R  (l,m,ε′) 2  and Q R (l,m,ε′) 2 :
 
 J (Δε m )= C ( A,B )=Σ l {( A−μ   A )( B−μ   B )},  (13)
 
where:
 
 A={I   R ( l,m ,ε′)} 2  and  B={Q   B ( l,m ,ε′)} 2   (14)
 
     We also define:
 
Σ l   {A}=μ   A  and Σ l   {B}=μ   B   (15)
 
     with the assumption that μ=μ A =μ B . 
     Following the same procedure in [1], we have: 
     
       
         
           
             
               
                 
                   
                     J 
                     ⁡ 
                     
                       ( 
                       
                         Δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ɛ 
                           m 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         μ 
                         2 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           { 
                           
                             
                               1 
                               + 
                               
                                 cos 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 8 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 π 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 Δ 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   ɛ 
                                   m 
                                 
                                 ⁢ 
                                 l 
                               
                             
                             2 
                           
                           } 
                         
                       
                     
                     - 
                     
                       μ 
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
     The cross-covariance of J(Δε m ) becomes zero when Δε m =0, which equals to ε′=ε in equation (10). 
     In the same way, we can define the objective function as:
 
 J (ε′)=Σ m   J (Δε m )  (17)
 
     In equation (17), the summation is made for all possible non-empty bin index of m. For example, in an IEEE 802.11g system, only 52 out 64 bins are used. In this case, we can fully use all data from all available bins in the frequency synchronization. It turns out that, as expected, higher accuracy synchronization is achieved by using more bins. 
     Mathematically, the equation (16) can also be rewritten to find ε m , as maximum: 
     
       
         
           
             
               
                 
                   
                     
                       max 
                       
                         ɛ 
                         m 
                       
                     
                     ⁢ 
                     
                       
                         J 
                         1 
                       
                       ⁡ 
                       
                         ( 
                         
                           Δ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ɛ 
                             m 
                           
                         
                         ) 
                       
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         l 
                       
                       ⁢ 
                       
                         { 
                         AB 
                         } 
                       
                     
                     = 
                     
                       
                         μ 
                         2 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           { 
                           
                             
                               1 
                               + 
                               
                                 cos 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 8 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 π 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 Δ 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   ɛ 
                                   m 
                                 
                                 ⁢ 
                                 l 
                               
                             
                             2 
                           
                           } 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     The objective function will achieve its maximum value when ε m ′=ε m . In the same way, the equation (17) can be rewritten as
 
 J (ε′)=Σ m Σ l   {AB}   (19)
 
     where l is the index for OFDM symbols, and m is the index for the subcarrier index within each OFDM symbol. 
     Next, we will provide variations of equation (19). It is noted that the equation (19) can be written as: 
     
       
         
           
             
               
                 
                   
                     
                       max 
                       
                         
                           ɛ 
                           ′ 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ϵ 
                           ⁡ 
                           
                             [ 
                             
                               
                                 f 
                                 1 
                               
                               ; 
                               
                                 f 
                                 2 
                               
                             
                             ] 
                           
                         
                       
                     
                     ⁢ 
                     
                       J 
                       ⁡ 
                       
                         ( 
                         
                           ɛ 
                           ′ 
                         
                         ) 
                       
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           { 
                           AB 
                           } 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           
                             
                               { 
                               
                                 
                                   I 
                                   R 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     l 
                                     , 
                                     m 
                                     , 
                                     
                                       ɛ 
                                       ′ 
                                     
                                   
                                   ) 
                                 
                               
                               } 
                             
                             2 
                           
                           ⁢ 
                           
                             
                               { 
                               
                                 
                                   Q 
                                   R 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     l 
                                     , 
                                     m 
                                     , 
                                     
                                       ɛ 
                                       ′ 
                                     
                                   
                                   ) 
                                 
                               
                               } 
                             
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
           
         
       
     
     Where [f 1 , f 2 ] is the frequency range of interest. Equation (20) can be rewritten as: 
     
       
         
           
             
               
                 
                   
                     
                       max 
                       
                         
                           ɛ 
                           ′ 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ϵ 
                           ⁡ 
                           
                             [ 
                             
                               
                                 f 
                                 1 
                               
                               ; 
                               
                                 f 
                                 2 
                               
                             
                             ] 
                           
                         
                       
                     
                     ⁢ 
                     
                       J 
                       ⁡ 
                       
                         ( 
                         
                           ɛ 
                           ′ 
                         
                         ) 
                       
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           { 
                           AB 
                           } 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           
                              
                             
                               
                                 
                                   I 
                                   R 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     l 
                                     , 
                                     m 
                                     , 
                                     
                                       ɛ 
                                       ′ 
                                     
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 
                                   Q 
                                   R 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     l 
                                     , 
                                     m 
                                     , 
                                     
                                       ɛ 
                                       ′ 
                                     
                                   
                                   ) 
                                 
                               
                             
                              
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
           
         
       
     
     and mathematically equation (21) is equivalent to maximizing the following objective function: 
     
       
         
           
             
               
                 
                   
                     
                       
                         max 
                         
                           
                             ɛ 
                             ′ 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ϵ 
                             ⁡ 
                             
                               [ 
                               
                                 
                                   f 
                                   1 
                                 
                                 ; 
                                 
                                   f 
                                   2 
                                 
                               
                               ] 
                             
                           
                         
                       
                       ⁢ 
                       
                         J 
                         ⁡ 
                         
                           ( 
                           
                             ɛ 
                             ′ 
                           
                           ) 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                            
                           
                             
                               
                                 I 
                                 R 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   l 
                                   , 
                                   m 
                                   , 
                                   
                                     ɛ 
                                     ′ 
                                   
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                               
                                 Q 
                                 R 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   l 
                                   , 
                                   m 
                                   , 
                                   
                                     ɛ 
                                     ′ 
                                   
                                 
                                 ) 
                               
                             
                           
                            
                         
                       
                     
                   
                   ⁢ 
                   
                       
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
           
         
       
     
     It is also the same as maximizing this second objective function as well: 
     
       
         
           
             
               
                 
                   
                     
                       
                         max 
                         
                           
                             ɛ 
                             ′ 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ϵ 
                             ⁡ 
                             
                               [ 
                               
                                 
                                   f 
                                   1 
                                 
                                 ; 
                                 
                                   f 
                                   2 
                                 
                               
                               ] 
                             
                           
                         
                       
                       ⁢ 
                       
                         J 
                         ⁡ 
                         
                           ( 
                           
                             ɛ 
                             ′ 
                           
                           ) 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         m 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           l 
                         
                         ⁢ 
                         
                           
                              
                             
                               
                                 I 
                                 R 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   l 
                                   , 
                                   m 
                                   , 
                                   
                                     ɛ 
                                     ′ 
                                   
                                 
                                 ) 
                               
                             
                              
                           
                           ⁢ 
                           
                              
                             
                               
                                 Q 
                                 R 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   l 
                                   , 
                                   m 
                                   , 
                                   
                                     ɛ 
                                     ′ 
                                   
                                 
                                 ) 
                               
                             
                              
                           
                         
                       
                     
                   
                   ⁢ 
                   
                       
                   
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
           
         
       
     
       FIG. 4  is a schematic illustration of the operations of equation (20), in accordance with some embodiments. OFDM symbol # 1   401  is made up of multiple frequency subcarriers  402 ,  404 ,  406 , with subcarrier  402  having subcarrier number  1  and subcarrier  406  having subcarrier number  64 , the highest subcarrier number in this diagram. Similarly, OFDM symbol # 2   403  and all symbols up to and including OFDM symbol # 1   405  are also made up of 64 subcarriers. 
     On the right of the diagram, equation  412  reflects the fact that the squared absolute values (i.e., the cross-correlation according to Park) of every symbol having subcarrier number  1  are summed. Equations  414  and  416  reflect the summation of cross-correlations of every subcarrier across each OFDM symbol, with equation  420  reflecting the summation of cross-correlations across both every subcarrier and every symbol. In some embodiments, squared absolute values may be used; in other embodiments, absolute values may be used without squaring, according to Park. 
       FIG. 5  is a flow chart of a frequency and phase synchronization procedure, in accordance with some embodiments. The detailed frequency synchronization procedure is as follows. 
     At step  501 , the algorithm initialization function  501  defines the algorithm parameters used in synchronization process. 
     Nsamp is the total number of samples used in the synchronization process. 
     [f 1  f 2 ] is the target frequency range of frequency offset. For example, the IEEE 802.11g standard defines the maximum frequency offset in term of ppm to be −/+20 ppm. In this case, f 1 =−48 kHz, f 2 =48 kHz. 
     Δf is the step size for searching the frequency range of interest. These three numbers are adaptively reduced to minimize complexity of computation and meet accuracy requirements for specific communication systems. 
     Initial phase value. This is set to zero. In application, there always exists a constant phase difference between the transmitter and receiver in addition to the CFO and SFO. The phase difference is caused by the different sampling time at the transmitter and receiver, and air propagation. The phase difference sometimes also refers to the symbol timing and needs to be aligned at the receiver. 
     ΔØ is the step size for phase alignment. This number, like Δf, is adaptively adjusted. A larger value means fast alignment but with less resolution. A small value means high resolution and more computational complexity. It is normally selected to be a larger ΔØ at the initial phase alignment stage and a smaller ΔØ for higher accuracy of phase alignment. 
     At step  511 , a signal of r(k) in equation (2) is acquired, which can be sampled at 1×, 2× or 4× of the basic sample rate at the ADC output in the receiver. 
     At step  512 , the time domain signal r(k) is converted into a frequency domain signal of R(l, i) by FFT operation based on frame synchronization information. l is the number of OFDM symbols within one data frame and i is the subcarrier index within each OFDM symbol. 
     At step  521 , firstly, the operation defined in equation (20) to cross over the number of OFDM symbols l and the subcarrier index i for the possible frequency range and defined step size is performed. The outputs of step  521  are the maximum value of equation (20) and its associated frequency. Secondly, the phase alignment is rotated with equation (20) until a new max value occurs. Details regarding this phase alignment step are addressed in U.S. Pat. No. 9,048,979, Park. This summation across both all samples and all symbols expresses the use of cross-correlation or orthogonality to determine phase offset. 
     At step  532 , the direction of phase change and its resolution are tuned. The increase or decrease of phase value will be determined by the comparison between the max values of equation (20) with the differing phase value. For example, at the kth value of phase, if the max value of J 1  is less than the max value of J 1  at the (k−1)th phase value, the phase value will be decreased at the next round of search. ΔØ is the step size for the phase alignment process. 
     At step  551 , it is determined whether the synchronization process is complete. If the differences of (M) consecutive maximum values of equation (20) are less than a predefined threshold value, the synchronization process finishes. Otherwise, processing goes to circuit  142  by reducing the frequency search resolution and performing the synchronization process using circuit  121  again. A control operation is also performed to determine if an update is needed, or if a new synchronization process should be started. A new update or synchronization process may be performed, for example, upon power on of an antenna, upon connection to a new radio source, after a certain configurable time interval, or after other events that would be expected to produce de-synchronization. 
     The systems and methods presented here can be applied to any single carrier system with complex signals at the receiver, and specifically to a multi-carrier based OFDM communication system. This method can be described as a blind synchronization method for a single carrier OFDM based system. For a given OFDM based system, only frame synchronization information is needed. After frame synchronization is done, each time-domain OFDM symbol can be detected and FFT operation can be applied without decoding the symbols. The raw samples after FFT can be used for frequency synchronization directly without any additional information. 
     For most OFDM systems, some form of channel equalization is also possible using known preambles/pilots before high-precision CFO and SFO correction is done. In such cases, the channel components in equation (10) R(l, i) can be removed. Simulations show that the performance of our method can be improved in conjunction with channel equalization techniques. 
     System Simulation Results 
     To demonstrate the performance of the proposed method for the frequency synchronization, simulation is conducted using an IEEE 802.11g system as an example. QPSK and 64-QAM signals are used in the simulation to show that the method can work for any type of modulation signal in the OFDM system. Only frame synchronization information is used in the simulation for the random chosen frequency offset. It is apparent from  FIGS. 6 and 7  that for both 4-QAM and 64-QAM OFDM signals, the accuracy of frequency estimation can be achieved within single digit of ppb levels with a SNR of only 5 dB. 
       FIG. 6  is a simulated performance plot of frequency synchronization of an OFDM system with QPSK, in accordance with some embodiments. The depicted system is an OFDM system with a 4-QAM signal, with a SNR of 5 dB. After roughly 12 simulation runs, it appears that the simulation has settled down to an estimation error of roughly 3 to 5 parts per billion. 
       FIG. 7  is a simulated performance plot of frequency synchronization of an OFDM system with 64-QAM, in accordance with some embodiments. With the same resolution and SNR, the figure shows an OFDM system with a 64-QAM signal. After the same number of simulation runs as in  FIG. 6 , there does not appear to be a convergence of estimation error. This is at least partially because at higher QAM levels, the deviation of cross-correlation/orthogonality of I and Q from zero is much smaller, resulting in a need to collect more data to reach the same level of estimation error. 
     Applications 
     The proposed frequency synchronization method can be applied to any single carrier or multicarrier communication system where the receiver signal is complex, such as, widely used wireline and wireless systems like ADSL, WLAN, WiMax, LTE, DVB-T, etc. 
     The disclosed method can be used in OFDM based backhaul systems, where the base station and user equipment can both use this technology to synchronize both frequency and timing first, prior to starting high speed data transmission. This will reduce interference among users and increase spectrum reuse efficiency. 
     The disclosed method can be applied to LTE systems. Even when synchronized both in frequency and timing between a user and a base station, all users transmit at different timing based on their distance from the base station, to ensure that all signals arrive at the base station at the same time. The disclosed method makes multi-user detection at base station (up-link) more feasible with less complexity of receiver design. It not only reduces the interference among users, but also keeps the orthogonality between subcarrier signals for each user. 
     The disclosed method can be applied to any communication system where frequency synchronization is needed to boost the data throughput, increase spectrum efficiency and reduce the complexity of receivers for CFO and CFO estimation and correction, such as IEEE 802.11g, 802.11n, and 802.11ac systems. 
     The disclosed two stage method can be applied to frequency synchronization using the methods proposed here for initial frequency synchronization and timing acquisition, and fine-tuning frequency and timing information during connection establishment and continued communication. 
     The disclosed two stage method can be applied to frequency synchronization using other methods for coarse frequency and timing acquisition, and using the disclosed methods for fine-tuning frequency and timing information during connection establishment and continued communication. 
     The disclosed frequency and phase synchronization process can use a single bin, a subset of bins, or all available bins in a OFDM system. 
     In the frequency synchronization update stage, a prior signal can be used in conjunction with a current available signal based on either a sliding window or weighted average method. 
     Two particular scenarios are contemplated for using the proposed frequency synchronization method. 
       FIG. 8  is a schematic system diagram showing the first scenario, in accordance with some embodiments. OFDM transmitter  801  is connected to transmit antenna  802 , and sends OFDM-multiplexed signals to receive antenna  803 . Receive antenna  803  is connected to low noise amplifier (LNA)  804 , which amplifies the low power signal received from antenna  803 , and sends it to mixer  805 . Mixer  805  performs downconversion from the carrier frequency to baseband. In doing so, mixer  805  utilizes the frequency generated by oscillator  809 , which has frequency offset that is desired to be compensated. Mixer  805  outputs an analog baseband signal to analog to digital converter (ADC)  806 ; stages  803 ,  804 , and  805  constitute the analog baseband, labeled here as section  812 . 
     Continuing on in digital baseband section  813 , ADC  806  receives its own clock signal from fractional n frequency synthesizer  810 . Synthesizer  810  accepts a clock input from oscillator  809  (which is subject to frequency offset) and converts that clock input to a sample rate appropriate for the ADC, which then uses the sample rate to sample the analog input signal and transform it into a digital signal, i.e., a set of samples. ADC  806  then passes the digital signal to frame sync module  807 . Frame sync module  807  determines the boundaries of each frame, as described elsewhere herein, by comparing symbols and identifying frame edges based on repeated symbols. The number of symbols to be buffered for frame synchronization is often described by the relevant OFDM standard. Once frame alignment is achieved, complete frames are sent to the OFDM demodulator  808  to be turned from symbols into digital data. 
     Frequency synchronization module  811  is a module performing steps as described herein for creating synchronization. It accepts digital samples from frame sync module  807  and determines, based on cross-correlating I and Q across samples and subcarriers as described herein, whether any phase offset or frequency offset is present, and this offset signal can be fed back to oscillator  809 , in some embodiments, to correct for offset. 
     In operation, at the initial communication stage, such as a scan, association or handshaking process, all users are synchronized with the AP/Base-station by tuning their local oscillators to match frequency and timing from the AP or base station, as shown by the dashed line between synchronization module  811  and oscillator  809  in  FIG. 8 . The system will maintain synchronization status by continuing to update frequency and time whenever it is needed. In this case, our CFO and SFO estimation and correction method can be used to fine-tune the oscillator continuously at the receiver. 
       FIG. 9  is a schematic system diagram showing a second scenario for using a proposed frequency synchronization method, in accordance with some embodiments. In this second scenario, it is assumed that adjusting the local oscillator is not feasible, and that the CFO and SFO correction should be done in the digital domain. Fine frequency offset tuning could instead be applied during a data communication period as part of a frame synchronization and channel equalization procedure. Analog baseband receive chain  912  consists of antenna  901 , low noise amplifier  902 , and mixer  903 , which operate as described in relation to  FIG. 8 . Mixer  903  receives a carrier frequency from oscillator  909  and subtracts it from the received signal to downconvert the signal to baseband. Oscillator  909  has a frequency offset, but is not able to receive a compensation signal. In this case, coarse synchronization can be performed between the transmitter and receiver in the initial communication stage using the method proposed herein or using a conventional method. An analog baseband signal is sent to ADC  904 . 
     Digital baseband  913  consists of ADC  904 , which receives the analog signal and converts it to a digital signal; fractional N frequency synthesizer  910 , which converts oscillator  909 &#39;s signal to a sampling rate for ADC  904 ; frame synchronization module  905 , for identifying OFDM frame edges; CFO/SFO correction module  906 , to be described below; and OFDM demodulator  908 , which outputs bits to the main processor of the digital device (not shown). 
     Frequency synchronization module  911  receives digital symbols from frame sync module  905  and identifies frequency offset through the cross-correlation method described herein. However, since the oscillator does not receive the offset correction signal, it is sent to a new module, CFO/SFO correction module  906 , which applies correction to the signal in the digital domain before it is sent to the OFDM demodulator  908 . 
     From the foregoing, it will be clear that the present invention has been shown and described with reference to certain embodiments that merely exemplify the broader invention revealed herein. Certainly, those skilled in the art can conceive of alternative embodiments. For instance, those with the major features of the invention in mind could craft embodiments that incorporate one or major features while not incorporating all aspects of the foregoing exemplary embodiments. 
     In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings. 
     The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued. 
     Moreover, in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially”, “essentially”, “approximately”, “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10%, in another embodiment within 5%, in another embodiment within 1% and in another embodiment within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed. 
     It will be appreciated that some embodiments may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used. 
     Moreover, an embodiment can be implemented as a computer-readable storage medium having computer readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described and claimed herein. Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a PROM (Programmable Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory) and a Flash memory. Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. 
     The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.