Abstract:
A multiple linear regression frequency estimation method and system. A phase sequence of a received signal is derived and divided into several subsequences according to predetermined rules. The phase differences of the subsequences are calculated for frequency estimation using linear regression analysis. A plurality of frequency estimation values are obtained corresponding to each subsequence and combined.

Description:
BACKGROUND 
   The present invention relates to frequency estimation for communication systems, and more specifically, to a frequency estimation method and system using a multiple linear regression technique. 
   In current communication systems, information is transmitted over a channel after modulating to a carrier signal. The carrier is modulated by varying one or more of its parameters, such as amplitude, frequency, or phase, according to the information being transmitted. In the process of transmission, the communication channel alters the characteristics of the transmitted signal and, typically, adds random interference, commonly known as Additive White Gaussian Noise (AWGN). These modifications can make the transmitted signal difficult to recognize at a receiver. 
   Phase shift keying (PSK) modulation is frequently employed in communication systems, and mobile units may exhibit a significant amount of frequency drift or variation in their local oscillators. Therefore, an important issue during reception is resolution of the frequency inherent in the received signal. The frequency of the received signal typically changes over time due to instability, such that the receiver must continuously estimate phase and frequency to maintain synchronization between the transmitter and receiver. 
   Training sequences embedded in the received signal are typically used to train or calibrate the receiver before handling actual data. Various techniques have been proposed to determine the frequency of the received signal according to the training sequences. Among these techniques, linear regression is commonly used for frequency estimation, comparing calculation of an angle of each input symbol and a symbol phase difference between a current and a previous symbol. The calculated phase differences are accumulated, and a linear regression analysis is applied to the sum of the phase difference to obtain frequency estimation. The drawback of this frequency estimation method is unreliable performance due to low signal to noise ratio (SNR) increased frequency estimation error when burst error occurs in the pilot signal. 
   SUMMARY 
   A multiple linear regression frequency estimation method that calculates several frequency values (slope of the linear regression model) by selecting different combinations of the pilot signal is provided. Outliers of the calculated slopes are discarded, with the remaining slopes averaged as an estimate of the frequency. The disclosed method may reduce the effect of noise, successfully improving on typical linear regression frequency estimation methods. 
   An embodiment of the multiple linear regression frequency estimation method comprises calculation of a phase sequence of complex samples in a detected frequency correction burst (FB) signal. The calculated phase sequence is divided into at least two phase subsequence according to a predetermined rule. Phase errors are calculated and accumulated for the phase sequence and each phase subsequence, and a linear regression slope of each phase sequence/subsequence is derived according to the linear regression algorithm. The similarities between the linear regression slopes are examined, since the slopes are ideally identical. The similar slopes are treated as acceptable frequency estimation values and these values are averaged as the frequency estimation output. Other slopes are assumed to be outliers and expected to be unreliable estimations, and are thus excluded from frequency estimation. 
   The embodiment of multiple linear regression frequency estimation method may also comprise calculation of the phases of Z complex samples in a detected frequency correction burst (FB) signal. The calculated phases are arranged into Q different phase sets according to M types of composition, wherein Q is a sequential accumulation from 1 to M (Q=1+2+ . . . +M). For example, if there are 3 (M=3) types of composition, the phases are arranged into 6 phase sets (Q=1+2+3=6). According to the first type of composition, when M=1, the first phase set comprises all the Z phases, whereas for the second type of composition, when M=2, the Z phases are evenly divided into 2 phase sets, wherein each phase and its subsequent phase in the same phase set are originally separated by 2 sample distances in the FB signal. Similar to when M=3, the Z phases are evenly divided into 3 phase sets. Phase errors are calculated and accumulated for each phase set, and a linear regression slope of each phase set is derived according to the linear regression algorithm. The similarities of the linear regression slopes are examined to avoid phase errors, since the slopes should be identical regardless of the sample distance between adjacent phases of the phase set if the system is ideal. The similar slopes are again treated as acceptable frequency estimation values and these values are averaged as the frequency estimation output. Other slopes are assumed to be unreliable estimations, and thus are excluded from frequency estimation. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention can be more fully understood by reading the subsequent detailed description in conjunction with the examples and references made to the accompanying drawings, wherein: 
       FIG. 1  illustrates the structure of various types of time slots in a GSM frame. 
       FIG. 2  is a block diagram illustrating the structure of a multiple linear regression frequency estimation method of an embodiment of the invention. 
       FIG. 3  is a flowchart illustrating the multiple linear regression frequency estimation method of an embodiment of the invention. 
       FIG. 4  is a flowchart illustrating selection of similar slopes in the multiple linear regression frequency estimation method of an embodiment of the invention. 
   

   DETAILED DESCRIPTION 
   An embodiment of the disclosed multiple linear regression frequency estimation method estimates a frequency offset between a carrier frequency of a transmitter and a local frequency reference of a receiver in wireless communication systems. In an embodiment, the wireless communication is Global System for Mobile Communications (GSM). GSM is an application of Time Division Multiple Access (TDMA), wherein data is transmitted over the channel in bursts, as shown in the frame structure of  FIG. 1 . A basic frame  1  of GSM comprises eight time slots. Herein are shown three kinds of bursts, normal burst (NB)  12 , frequency correction burst (FB)  14 , and synchronization burst (SB)  16 . The length of a GSM time slot is 156.25 symbol durations, with numbers shown in brackets for individual components in symbols. When the system employs Gaussian filtered Minimum Shift Keying (GMSK) modulation, one symbol represents only one bit. The 3 tail bits (TB), all logical zeros, are used in convolutional decoding of the channel-encoded data bits. The 26-bit training sequence in the middle of the NB  12  is used for channel equalization. The guard period (GP), occupying 8.25 bits, is included at the end of each time slot to prevent data bursts received from mobiles at the base station from overlapping achieved by no signal transmitting during the guard period. The FB  14  comprises 142 fixed bits which can be used for frequency estimation. The SB  16  often follows the FB  14  for synchronization. 
     FIG. 2  illustrates the structure of the proposed multiple linear regression frequency estimation. Once a frequency correction burst (FB) signal, sampled as Z complex samples, is detected, a phase computing unit  21  calculates phases A 0 ˜A z−1 , of the complex samples S 0 ˜S z−1 , by arc tan the complex samples S 0 ˜S z−1 . The calculated phases A 0 ˜A z−1  are fed to a number (M-1) of multiplexers 222˜22M, each having a unique number of output branches. The multiplexer  222 , for example, is a 1:2 multiplexer with 2 output branches, whereas the multiplexer  22 M is a 1:M multiplexer with M output branches. A total of Q different phase sets is derived from the complex samples S 0 ˜S z−1 , wherein Q is a sequential accumulation from 1 to M (Q=1+2+ . . . +M). If there are only two multiplexers  222  and  223  in the system, M=3, there will be six (1+2+3=6) phase sets. Each multiplexer divides the phases A 0 ˜A z−1 , into a specific number of phase sets sequentially, for example, multiplexer  222  divides the phases A 0 ˜A z−1  into two phase sets A 0 , A 2 , A 4 , . . . , A z−2  and A 1 , A 3 , A 5 , . . . , A z−1 . 
   Each phase error computing unit  231 ˜ 23 Q receives a phase set from a corresponding multiplexer output, then calculates and accumulates the phase errors. For example, if there are 100 complex samples (Z=100), the phase error vector Δ 1  of the first phase set A 0 ˜A 99  is 
             [         A   1     -     A   0     -     π   2       ,       A   2     -     A   1     -     π   2       ,   …   ⁢           ,       A   99     -     A   98     -     π   2         ]     ,         
and a phase summation Θ 1  is [0, Δ 1 (0), Δ 1 (0)+Δ 1 (1), . . . , Δ 1 (97)+ Δ 1 (98)]. Similarly, the phase error Δ 2  of the second phase set A 0 , A 2 , A 4 , . . . , A 98  is [A 2 −A 0 −π, A 4 −A 2 −π, . . . , A 98 −A 96 −π], and a phase summation Θ 2  is [0, Δ 2  (0), Δ 2  (0)+Δ 2 (1), . . . , . . . Δ 2 (48)+Δ 2  (49)], and so on. The calculated phase summations Θ 1 ˜Θ M  generated by the phase error computing units  231 ˜ 23 Q are sent to their corresponding linear regression computing units  241 ˜ 24 Q for frequency estimation.
 
   Linear regression computing units  241 ˜ 24 Q estimate the slope of each phase error caused by frequency offset. The estimated slope is obtained as follows. 
   
     
       
         
           
             
               
                 slope 
                 = 
                 
                   
                     
                       N 
                       × 
                       
                         S 
                         xy 
                       
                     
                     - 
                     
                       
                         S 
                         x 
                       
                       × 
                       
                         S 
                         y 
                       
                     
                   
                   
                     
                       N 
                       × 
                       
                         S 
                         xx 
                       
                     
                     - 
                     
                       
                         S 
                         x 
                       
                       × 
                       
                         S 
                         x 
                       
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
   
   where N denotes the number of inputs, the number of phase errors calculated by a corresponding phase error computing unit  231 ˜ 23 Q, and S x , S y , S xy , S xx  are defined by equations (2)˜(5). 
   
     
       
         
           
             
               
                 
                   S 
                   x 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       0 
                     
                     
                       N 
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                     x 
                     ⁡ 
                     
                       ( 
                       n 
                       ) 
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
           
             
               
                 
                   S 
                   y 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       0 
                     
                     
                       N 
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                     y 
                     ⁡ 
                     
                       ( 
                       n 
                       ) 
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
           
             
               
                 
                   S 
                   xy 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       0 
                     
                     
                       N 
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                     
                       x 
                       ⁡ 
                       
                         ( 
                         n 
                         ) 
                       
                     
                     ⁢ 
                     
                       y 
                       ⁡ 
                       
                         ( 
                         n 
                         ) 
                       
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
           
             
               
                 
                   S 
                   xx 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       0 
                     
                     
                       N 
                       - 
                       1 
                     
                   
                   ⁢ 
                   
                     
                       x 
                       2 
                     
                     ⁡ 
                     
                       ( 
                       n 
                       ) 
                     
                   
                 
               
             
             
               
                 Equation 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
   
   where x(n) is the index of input samples, i.e. the phase errors, and y(n) denotes the nth component (phase error) of the phase error vector. 
   Once all the linear regression computing units  241 ˜ 24 Q have calculated the slopes, the frequency estimation unit  25  selects similar slopes according to absolute differences. 
   The multiple linear regression frequency estimation methods can also be understood by an exemplary flowchart shown in  FIG. 3 . The phases of the input complex samples are calculated before entering a loop deriving linear regression slopes. The initial value of M is set to satisfy performance, as larger M, increases accuracy as more combinations of samples are considered for frequency estimation. The calculated phases are divided into M different phase sets, and phase errors (phase differences) for each phase set are derived and accumulated. A slope for each set of phase errors is thus derived using the linear regression algorithm and stored for later similar values examination. Once all of the multiplexing combinations have been considered as M reduces to 0, the stored slopes are compared to select only similar values, and frequency is estimated by averaging these selected similar values. 
   From the flowchart of  FIG. 3 , selection of similar values is further illustrated by the flowchart shown in  FIG. 4 . A total of Q (Q=1+2+ . . . +M) slopes are calculated, and, in the flowchart of  FIG. 4 , slopes are checked for how many are close to each other within the preset range defined by a “threshold”. If the quantity of similar slopes is more than ⅔ of the total slopes (2Q/3), these similar slopes are considered as “correct frequency estimation results”, and the system averages these values as frequency estimation output. As well the remainding dissimilar slopes are discarded as these values are treated as unreasonable error terms. 
   It will be appreciated by persons skilled in the art, from the foregoing discussion, that various alternative embodiments may be practiced or implemented within the scope and spirit of the present invention. For example, in one embodiment, the multiple linear regression frequency estimation method may further comprise sending an error message if the number of discarded slopes exceeds a preset portion of total calculated slopes. Further still, the multiple linear regression frequency estimation method may be implemented wherein the preset portion is ⅓. 
   Finally, while the invention has been described by way of examples and in terms of the above, it is to be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications as would be apparent to those skilled in the art.