Abstract:
A method and apparatus for frequency estimation useful in location determination utilizes a plurality of energy detectors to estimate the frequency associated with a peak energy value as determined by the energy detectors. An iterative process is implemented such that the frequency estimate corresponds to the Doppler frequency or carrier frequency error.

Description:
TECHNICAL FIELD  
       [0001]     This patent relates to carrier frequency estimation and correction and more particularly to a method and apparatus providing Doppler frequency estimation or carrier frequency error and use of such methods and apparatus in systems and devices.  
       BACKGROUND  
       [0002]     The global positioning system or GPS, as it is most commonly known, uses a network of orbiting space vehicles (SVs), each of which transmit two common carriers. Unique to each SV, the common carriers are modulated by spread spectrum codes with unique pseudo random noise (PRN) sequences associated with the SV and a navigation data message. A GPS receiver tracks the SV signals and estimates time-of-arrival (TOA) ranging to determine user position from the PRN sequence for the desired SV and the carrier signal, including Doppler effects. Relative movement of the transmitter and receiver results in the carrier frequency of the received signal being different than that of the transmitted signal, i.e., Doppler frequency or carrier frequency error. More accurate Doppler frequency estimation allows more accurate TOA estimates and, therefore, more accurate position estimates.  
         [0003]     Existing GPS receivers use typically one of two approaches to estimate Doppler frequency. A first approach uses fast Fourier transform (FFT). The other approach uses a trial method over a small number of specified frequencies. The resolution of frequency estimation in the FFT approach is generally low since. Using the FFT approach, the bandwidth of interest is divided into a number of discrete increments, or the FFT order. The order is limited to  2048  due to hardware complexity. The result over an approximately 2 mega-Hertz (MHz) search band is a resolution of approximately 1 kilo-Hertz (kHz), i.e., 2 MHz divided into 2048 1 kHz increments. The trial approach is simple in implementation, but also is limited, and the relatively small number of specified trial frequencies only provide course estimation.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0004]      FIG. 1  is a block diagram representation of a device in accordance with a described embodiment of the invention.  
         [0005]      FIG. 2  is a block diagram depiction of the frequency estimator depicted as part of the device of  FIG. 1 .  
         [0006]      FIG. 3  is a schematic illustration of a process implemented by a frequency estimator in accordance with the described embodiments.  
         [0007]      FIG. 4  is a block diagram representation of a device in accordance with an alternate described embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0008]     In accordance with the described embodiments of the invention, a frequency estimator may be deployed as a standalone device or module or as part of a device or system providing location information including position and tracking information. The frequency estimator may include a plurality of energy detectors, each having an adjustable bandwidth and center frequency. The energy detectors provide fast, efficient determination of a peak energy value. Since the correlated received space vehicle (SV) signal of a satellite based location system has its peak energy located at Doppler frequency, Doppler frequency may be estimated based upon the frequency at which the peak energy value is reported with high resolution and reduced computation.  
         [0009]     Referring to  FIG. 1 , the device  100  receives a SV signal at the antenna  102 . A front end processor  104  processes the received SV signal, e.g., filters, down-converts, amplifies, etc., as is well known in the art, to form a received baseband signal  106 . Next, a frequency correction process is performed on the baseband signal  106  within the frequency correction circuit  108  providing a frequency corrected signal  110 . The frequency correction circuit  108  receives as an input, an output of a numerically controlled oscillator (NCO)  112 .  
         [0010]     The frequency corrected signal  110  is despread by despreader  114  that operates in response to a pseudo noise (PN) code provided by a pseudo noise code generator  116 . The despread signal  118  is integrated/accumulated by integrator  120 , the output of which is available to a processing device  122 , such as a microprocessor (μP), digital signal processor (DSP), or other suitable circuit or device, to provide acquisition, tracking, measurement and other location determination related processes and functionality. The output of the processing device  122  may be provided to a display device (not depicted) or otherwise used to provide location based services to a user of the device  100 . The device  100  may be a standalone device, or the device  100  may be coupled to or integrated with other devices or systems. For example, the device  100  may be a handheld navigation, location or tracking device, a personal communication device, such as a cellular telephone, a personal digital assistant (PDA), a wireless data communication device, e.g., a WiFi enable device, and the like. The device  100  may also be coupled to or integrated with a navigation system as part of a vehicle or otherwise.  
         [0011]     A frequency detector  124  is coupled to an output of the despreader  114 . It will be understood that the frequency detector  124  may be implemented as a separate module or device. Alternatively, the frequency detector  124  may be implemented as a process within the processing device  122  or otherwise in the circuitry, systems and components of the device  100 .  
         [0012]     An output  126  of the frequency detector  124  is an estimated error between Doppler frequency and the estimated frequency generated by the NCO  112 . An adder  128  provides and updated control signal to the NCO  112 . The NCO  112  is responsive to the control signal  132  to adjust its output such that the signal provided as an input to the correction circuit  108  is substantially the estimated Doppler frequency.  
         [0013]      FIG. 2  depicts the frequency estimator  124 , which includes a plurality of energy detectors. Three energy detectors  202 ,  204  and  206  are depicted, although more or fewer energy detectors may be employed. Each of the energy detectors  202 ,  204  and  206  is configurable to have a bandwidth, BW 1 , BW 2  and BW 3 , and a center frequency, F 1 , F 2  and F 3 , respectively. As shown in the example of  FIG. 2 , however, each of the energy detectors have the same bandwidth, BW. The center frequencies and the corresponding bandwidth values of the energy detectors define a search band sufficiently covering the expected energy distribution of the received signal, as discussed below.  
         [0014]     In one implementation, the energy detectors  202 ,  204  and  206  may be a filter followed by a rectifier. For example, one low-cost low-pass filter can be a transcendental filter where filter coefficients are in the form of sine or cosine functions. Such a filter also can be designed using a Coordinate Rotation Digital Computer (CORDIC) algorithm which computes sines, cosines, and other transcendental functions with n bits of accuracy in n iterations where each iteration requires only a small number of shifts and additions with fixed-point arithmetic. In another implementation, the energy detector  202 ,  204 , and  206  may be a quadratic detector. For example, a linear summation of lag-weighted instantaneous autocorrelation.  
         [0015]     Updated block  214  updates the energy detector center frequency and bandwidth for the subsequent search operations. One implementation of updating energy detector center frequency is to modulate the low-pass detector With the appropriate center frequency using the CORDIC algorithm.  
         [0016]     A peak detector  208  selects the peak energy output, Em, from the outputs E 1 , E 2 , E 3 , of the energy detectors  202 ,  204  and  206 , respectively, and identifies the corresponding center frequency, Fm, and bandwidth, BWm, of the energy detector  202 ,  204  or  206  at which the peak or maximum output was detected. A comparison function  210  determines if the bandwidth, BWm, is less than a desired bandwidth value, i.e., if the desired level of frequency resolution is achieved. If the desired resolution is achieved, an identify function  212  equates the Doppler frequency estimate, Fd, with the center frequency at peak output, Fm. Otherwise, an update process  214  updates the center frequency values for the energy detectors  202 ,  204  and  206  and adjusts the bandwidth values, BW 1 , BW 2  and BW 3 , or for the example of  FIG. 2 , the value, BW, the common bandwidth for each of the energy detectors.  
         [0017]      FIG. 3  illustrates a frequency estimation process that may be implemented by the frequency detector  124 . The sought after Doppler frequency, Fd, is depicted as the phantom line  302  with an energy distribution  304 . The energy detectors  202 ,  204  and  206  are initialized such that the center frequencies F 1 , F 2  and F 3  are set relative to a base center frequency F 0 . The base center frequency F 0  may be selected based upon an anticipated value of the Doppler frequency. The center frequencies F 1 , F 2  and F 3  are defined based upon the base center frequency F 0 , and may be chosen to be uniformly or non-uniformly distributed within the energy distribution  304 . In the example of  FIG. 3 , F 1  is set below the base center frequency, F 2  is set at the base center frequency and F 3  is set above the base center frequency with uniform spacing. Each energy detector  202 ,  204  and  206  also is assigned a bandwidth value, BW 1 , BW 2  and BW 3 , respectively, but carrying over the example described in  FIG. 2  and here in  FIG. 3 , the bandwidth values for each of the energy detectors is the same and is depicted as bandwidth BW. The total bandwidth of each of the energy detectors initially should substantially correspond to but may be larger or smaller than the energy distribution  304  and defines a search band. Also, the size of the bandwidth and the spacing of the center frequencies may be such to ensure overlap of the bandwidth segments associated with each of the center frequencies. The common bandwidth. BW used for each energy detector of the example shown in  FIGS. 2 and 3  allows the energy detectors  202 ,  204  and  206  to be initialized as follows: 
   F   1 = F   0 −0.5 BW,BW    F 2 =F 0 , BW    F   3 = F   0 +0.5 BW, BW.   (1)  
         [0018]     This initial configuration results in the search pattern  306  for the first iteration,  FIG. 3 . As the bandwidth associated with center frequency F 1 , and hence energy detector  202 , sees a larger portion of the energy distribution  304 , the energy detector  202  reports the peak energy value, Em=E 1 . Therefore, the center, frequency of the peak detector  208  will set Fm, i.e., Fm=F 1  and BWm, i.e., BWm=BW 1 =BW. Because, at least for the first iteration, BWm is not be less than the desired bandwidth, i.e., the desired level of resolution is not achieved on the first iteration, the update process  214  is invoked causing F 0  to be set equal to Fm=F 1  and energy detector bandswidths BW 1 , BW 2  and BW 3  to be adjusted, e.g., set at half the current bandwidth, BW 1 =BW 2 =BW 3 =BW=0.5 BWm. Of course the bandwidth may be adjusted in different increments and need not be uniformly adjusted; however, it must be reduced to provide convergence to the search. The energy detectors are then reinitialized based upon equations 1, above, resulting in the search pattern  308  for the second iteration.  
         [0019]     For the second iteration it can be seen that the center frequency F 3 , and hence energy detector  206 , sees a larger portion of the energy distribution  304  the energy detector  206  reports the peak energy value, Em=E 3 . The values of Fm and BWm are then set. If the desired resolution still is not achieved, the update process  214  is invoked and the energy detectors  202 ,  204  and  206  are reinitialized resulting in the search pattern  310 . The process continues for several iterations until the desired level of resolution is achieved. At that point, Fm=Fn, where n is the number of iterations, and Fd is set equal to Fn.  
         [0020]     Referring to  FIG. 4 , a device  400  is similar in construction to the device  100 , and like reference numerals are used to indicate like elements. The device  400  differs from the device  100  in that code wipe off/despreader  114  is positioned before frequency correction circuit  108 . The frequency detector  124  are positioned to receive the despread signal output  402  of the despreader  114  and the estimated Doppler frequency, Fd, is input directly to the NCO  112  for affecting frequency correction at the frequency correction circuit  108  prior to integration  120  and processing  122 .  
         [0021]     This disclosure is provided to explain in an enabling fashion the best modes of making and using various embodiments in accordance with the present invention. The disclosure is further offered to enhance an understanding and appreciation for the inventive principles and advantages thereof, rather than to limit in any manner the invention. 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.  
         [0022]     It is further understood that the use of relational terms, if any, such as first and second, top and bottom, and the like are used solely to distinguish one from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.  
         [0023]     Much of the inventive functionality and many of the inventive principles are best implemented with or in software programs or instructions and integrated circuits (ICs) such as application specific ICs. 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. Therefore, in the interest of brevity and minimization of any risk of obscuring the principles and concepts in accordance to the present invention, discussion of such software and ICs, if any, is limited to the essentials with respect to the principles and concepts of the preferred embodiments.