Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCEDURE FOR ESTIMATING A FREQUENCY SHIFT PARAMETER OF AN OSCILLATOR
Document Type and Number:
WIPO Patent Application WO/2005/018087
Kind Code:
A2
Abstract:
A system (100) for and method of estimating a frequency shift parameter of an oscillator (110) are described. A received signal is down-converted (102). The first and second correlation functions represent the likelihood of one or more frequency hypotheses at first and second times, respectively. An estimate of a frequency shift parameter is derived from the first and second correlation functions.

Inventors:
KRASNER NORMAN F (US)
Application Number:
PCT/US2004/015205
Publication Date:
February 24, 2005
Filing Date:
May 14, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
QUALCOMM INC (US)
KRASNER NORMAN F (US)
International Classes:
H03D1/00; H03B; (IPC1-7): H03B/
Foreign References:
US4426712A1984-01-17
Attorney, Agent or Firm:
Wadsworth, Philip R. (San Diego, CA, US)
Download PDF:
Claims:
CLAIMS What is claimed is:
1. A system for estimating a frequency shift parameter of an oscillator comprising: a downconverter for downconverting a received signal using the oscillator; and logic for (1) deriving first and second correlation functions from the down converted signal, the first and second correlation functions representing the likelihood of one or more frequency hypotheses at first and second times, respectively ; and (2) deriving an estimate of the frequency shift parameter from the first and second correlation functions.
2. The system of claim 1 in a position determination system.
3. The system of claim 2 in a subscriber station.
4. The system of claim 2 in a GPS position determination system.
5. The system of claim 2 wherein the received signal is a composite signal representing one or more position determination signal sources visible to the subscriber station.
6. The system of claim 5 wherein the one or more signal sources are each GPS satellites.
7. The system of claim 1 wherein the one or more frequency hypotheses are represented as one or more frequency bins.
8. The system of claim 6 wherein each of the first and second correlation functions corresponds to the same GPS satellite.
9. The system of claim 1 wherein the oscillator has a variable frequency, and the logic is configured to controllably vary the frequency of the oscillator until the estimated frequency shift parameter is set to a predetermined value.
10. The system of claim 1 wherein the logic is configured to circularly cross correlate the first and second correlation functions to form a circular crosscorrelation function, locate a peak of the circular crosscorrelation function, and derive an estimate of the frequency shift parameter from the location of the peak of the circular cross correlation function.
11. The system of claim 1 wherein the oscillator is a local oscillator.
12. The system of claim 10 wherein the first and second times are displaced in time by a delta value, the frequency shift parameter is a sweep rate, and the logic is configured to derive an estimate of the sweep rate of the oscillator from the location of the peak of the crosscorrelation function and the delta value.
13. A system for estimating a frequency shift parameter of an oscillator comprising : a downconverter for downconverting a received signal using the oscillator, the received signal comprising a composite signal representing one or more signal sources; and logic for (1) deriving, for each of one or more of the signal sources, first and second correlation functions from the downconverted signal, the first and second correlation functions representing the likelihood of one or more frequency hypotheses at first and second times, respectively; and (2) deriving an estimate of the frequency shift parameter from the first and second correlation functions for one or more of the signal sources.
14. The system of claim 13 in a position determination system.
15. The system of claim 14 in a subscriber station.
16. The system of claim 14 wherein the position determination system is a GPS position determination system.
17. The system of claim 16 wherein the signal sources are GPS satellites.
18. The system of claim 13 wherein the logic is configured to combine first correlation functions for each of one or more signal sources to form a first combined correlation function, combine second correlation functions for each of one or more of the signal sources to form a second combined correlation function, and derive the estimate of the frequency shift parameter from the first and second combined correlation functions.
19. The system of claim 18 wherein the logic is configured to selectively combine the one or more of the first correlation functions to form the first combined correlation function using a quality of signal metric, and selectively combine one or more of the second correlation functions to form the second combined correlation function using a quality of signal metric.
20. The system of claim 19 wherein the quality of signal metric for the first and second plurality of signals is SNR.
21. The system of claim 13 wherein the logic is configured to circularly cross correlate the first and second combined correlation functions to form a circular cross correlation function, locate a peak of the circular crosscorrelation function, and derive the estimate of the frequency shift parameter from the location of the peak.
22. The system of claim 13 wherein the oscillator is a local oscillator.
23. The system of claim 14 wherein the signal sources are position determination signal sources.
24. The system of claim 21 wherein the first and second times are displaced in time from one another by a delta value, the frequency shift parameter is a sweep rate, and the logic is configured to derived an estimate of the sweep rate of the oscillator from the location of the peak of the circular crosscorrelation function and the delta value.
25. A method of estimating a frequency shift parameter of an oscillator comprising: downconverting a received signal using the oscillator; deriving first and second correlation functions from the downconverted signal, the first and second correlation functions representing the likelihood of one or more frequency hypotheses at first and second times, respectively; and deriving an estimate of the frequency shift parameter from the first and second correlation functions.
26. The method of claim 25 performed in a position determination system.
27. The method of claim 26 performed in a subscriber station.
28. The method of claim 26 wherein the position determination system is a GPS position determination system.
29. The method of claim 26 wherein the received signal is a composite signal representing one or more position determination signal sources visible to the subscriber station.
30. The method of claim 28 wherein the one or more signal sources are each GPS satellites.
31. The method of claim 25 wherein the one or more frequency hypotheses are represented as one or more discrete frequency bins.
32. The method of claim 30 wherein the first and second correlation functions correspond to the same GPS satellite.
33. The method of claim 25 wherein the oscillator has a variable frequency, and the method further comprises controllably varying the frequency of the oscillator until the estimated frequency shift parameter is set to a predetermined value.
34. The method of claim 25 wherein the deriving step comprises circularly crosscorrelating the first and second correlation functions to form a circular cross correlation function, locating a peak of the circular crosscorrelation function, and deriving an estimate of the frequency shift parameter from the location of the peak of the circular crosscorrelation function.
35. The method of claim 25 wherein the oscillator is a local oscillator.
36. The method of claim 34 wherein the first and second times are displaced in time from one another by a delta value, the frequency shift parameter is sweep rate, and the deriving step comprises estimating the sweep rate of the oscillator from the location of the peak of the circular crosscorrelation function and the delta value.
37. A method of estimating a frequency shift parameter of an oscillator comprising: downconverting a received signal using the oscillator, the received signal comprising a composite signal representing a plurality of signal sources; deriving, for each of one or more of the signal sources, first and second correlation functions from the downconverted signal, the first and second correlation functions representing the likelihood of one or more frequency hypotheses at first and second times, respectively; and deriving an estimate of the frequency shift parameter from the first and second correlation functions for one or more of the signal sources.
38. The method of claim 37 performed in a position determination system.
39. The method of claim 38 performed in a subscriber station.
40. The method of claim 38 wherein the position determination system is a GPS position determination system.
41. The method of claim 40 wherein the signal sources are each GPS satellites.
42. The method of claim 37 wherein the deriving step comprises combining first correlation functions for each of one or more of the signal sources to form a first combined correlation function, combining second correlation functions for each of one or more of the signal sources to form a second combined correlation function, and deriving an estimate of the frequency shift parameter from the first and second combined correlation functions.
43. The method of claim 42 further comprising selectively combining one or more of the first correlation functions to form the first combined correlation function using a quality of signal metric, and selectively combining one or more of the second correlation functions to form the second combined correlation function using a quality of signal metric.
44. The method of claim 43 wherein the quality of signal metric is SNR.
45. The method of claim 37 wherein the deriving step comprises circularly crosscorrelating the first and second combined correlation functions to form a circular crosscorrelation function, locating a peak of the circular crosscorrelation function, and deriving the estimate of the frequency shift parameter from the location of the peak.
46. The method of claim 37 wherein the oscillator is a local oscillator.
47. The method of claim 45 wherein the first and second times are displaced from one another by a delta value, the frequency shift parameter is a sweep rate, and the deriving step comprises estimating the sweep rate of the oscillator from the location of the peak of the circular crosscorrelation function and the delta value.
48. A memory holding software instructions embodying any of the methods of claims 25 to 47.
49. A system comprising a processor and the memory of claim 48, wherein the processor is configured to access the memory and execute the software instructions held in the memory.
50. A system for estimating a frequency shift parameter of an oscillator comprising: first means for downconverting a received signal using the oscillator; second means for deriving first and second correlation functions from the down converted signal, the first and second correlation functions representing the likelihood of one or more frequency hypotheses at first and second times, respectively; and third means for deriving an estimate of the frequency shift parameter from the first and second correlation functions.
Description:
PROCEDURE FOR ESTIMATING A FREQUENCY SHIFT PARAMETER OF AN OSCILLATOR Field of the Invention.

[0001] This invention relates to oscillators, and, more specifically, to procedures for estimating a frequency shift parameter of an oscillator or enhancing the frequency stability of an oscillator.

Related Art.

[0002] In an RF receiver, one or more local oscillators are used to down-convert a received signal to baseband or near-baseband frequencies. In a direct conversion receiver, a single local oscillator having a frequency set to the carrier frequency of the received signal is used to perform the down-conversion process. In a super-heterodyne receiver, a first local oscillator is used to down-convert the received signal to an intermediate frequency signal, and a second local oscillator is used to down-convert the received signal to a baseband or near-baseband signal. The frequency of the first local oscillator is set to the difference in frequency between the carrier frequency and the intermediate frequency. The frequency of the second local oscillator is set to the intermediate frequency.

[0003] At various times, the one or more local oscillators may experience frequency instability and rapid frequency shifts, due to various factors such as power on/off conditions, voltage fluctuations and the like. Depending on the application, these frequency changes can cause significant problems in processing the down-converted signal. In GPS position determination systems, for example, frequency shifts experienced by the one or more local oscillators used to perform down-conversion will manifest themselves as phase changes in the down-converted signal. These phase changes are undesirable because they limit the size of the coherent integration time, which in turn limits the sensitivity of the GPS position determination system and its ability to detect weak GPS satellite signals.

[0004] In some cases, the local oscillator may experience a linear frequency rate of change. This linear frequency rate of change may be expressed as a sweep rate k in units of Hz/sec. Since phase is the integral of frequency, a sweep rate k manifests itself <BR> <BR> as a quadratic rate of change in phase, i. e. , on the order of k2. If this sweep rate is known, it can be controlled and corrected for. Unfortunately, for mass market consumer electronic devices such as subscriber stations, it is too expensive and time-consuming to attempt to estimate k using a maximum likelihood approach of checking every possible hypothesis of the parameter k. Other possible techniques, such as homodyne spectral analysis, are ineffective at the low SNRs which characterize many GPS satellite transmissions.

SUMMARY OF THE INVENTION [0005] A system for estimating a frequency shift parameter of an oscillator is described. A received signal is down-converted using the oscillator. First and second correlation functions are derived from the down-converted signal. The first and second correlation functions represent the likelihood of one or more frequency hypotheses at first and second times, respectively. An estimate of the frequency shift parameter is derived from the first and second correlation functions.

[0006] In one embodiment, the first and second correlation functions are circularly cross-correlated with one another to form a circular cross-correlation function. The peak of the circular cross-correlation function is located, and an estimate of the frequency shift parameter is derived from the location of the peak of the circular cross- correlation function.

[0007] In one example of this embodiment, the frequency shift parameter is the sweep rate, and the first and second times are displaced from one another by a delta value. In this example, the sweep rate is estimated from the location of the peak of the circular cross-correlation function and the delta value.

[0008] In a second embodiment, the received signal comprises a composite signal representing one or more signal sources. First and second correlation functions are derived from the down-converted signal for each of one or more of the signal sources.

The first and second correlation functions represent the likelihood of one or more frequency hypotheses at first and second times, respectively. One or more of the first correlation functions are selectively combined using a quality of signal metric, e. g., SNR, to form a first combined correlation function. One or more of the second correlation functions are selectively combined, again using a quality of signal metric, to form a second combined correlation function. An estimate of the frequency shift parameter is derived from the first and second combined correlation functions.

[0009] Other or related systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS [0010] The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.

[0011] Figure 1 is a block diagram of a system for estimating a frequency shift parameter of an oscillator.

[0012] Figure 2 is a block diagram of s system for estimating a frequency shift parameter of a local oscillator in a position determination system.

[0013] Figure 3 is an example of a two-dimensional correlation function as produced by a subscriber station in a position determination system.

[0014] Figure 4 is a one-dimensional correlation function derived from a cross- section of the two-dimensional correlation function of Figure 3, and representing the likelihood of various code phase hypotheses [0015] Figure 5 is a one-dimensional correlation function derived from a cross- section of the two-dimensional correlation function of Figure 3, and representing the likelihood of various Doppler frequency hypotheses.

[0016] Figure 6A is an example of first and second correlation functions representing the likelihood of various frequency hypotheses at first and second times, respectively, and assuming a sweep rate of 50 Hz/sec.

[0017] Figure 6B illustrates a circular cross-correlation function derived from the first and second correlation functions of Figure 6A.

[0018] Figure 7A is an example of first and second correlation functions representing the likelihood of various frequency hypotheses at first and second times, respectively, and assuming a sweep rate of 100 Hz/sec.

[0019] Figure 7B illustrates a circular cross-correlation function derived from the first and second correlation functions of Figure 7A.

[0020] Figure 8 is a series of plots illustrating the expected RMS error in sweep rate estimates for various input signal levels and estimated sweep rates.

[0021] Figure 9 is a block diagram of one embodiment of a subscriber station.

[0022] Figure 10 is a flowchart of one embodiment of a method for estimating a frequency shift parameter of an oscillator.

[0023] Figure 11 is a flowchart of one implementation of a method for estimating a frequency shift parameter of an oscillator in which the received signal is a composite signal representing a plurality of signal sources, and the plurality of correlation functions corresponding to the various signal sources are selectively combined in the course of estimating the frequency shift parameter.

[0024] Figure 12 is a block diagram of an embodiment of a system for estimating a frequency shift parameter of an oscillator in which a processor executes software instructions held in a memory.

DETAILED DESCRIPTION [0025] As utilized herein, terms such as"about","approximately","substantially" and"near"are intended to allow some leeway in mathematical exactness to account for tolerances that are acceptable in the trade. Accordingly, any deviations upward or downward from the value modified by the terms"about","approximately", "substantially"or"near"in the range of 1% to 20% or less should be considered to be explicitly within the scope of the stated value.

[0026] As used herein, the term"software"includes source code, assembly language code, binary code, firmware, macro-instructions, micro-instructions, or the like, or any combination of two or more of the foregoing.

[0027] The term"memory"refers to any processor-readable medium, including but not limited to RAM, ROM, EPROM, PROM, EEPROM, disk, floppy disk, hard disk, CD-ROM, DVD, or the like, or any combination of two or more of the foregoing, on which may be stored a series of software instructions executable by a processor.

[0028] The terms"processor"or"CPU"refer to any device capable of executing a series of instructions and includes, without limitation, a general-or special-purpose microprocessor, finite state machine, controller, computer, digital signal processor (DSP), or the like.

[0029] The term"logic"refers to implementations of functionality in hardware, software, or any combination of hardware and software.

[0030] The phrase"GPS satellite"includes space vehicles (SVs).

[0031] The phrase"position determination system"means any system for determining the position of a subscriber station in a wireless communications system, and includes position determination systems overlaid onto or integrated into wireless communications systems. Examples include the GPS, mobile assisted GPS, GLONASS, GALILEO, mobile based, network based enhanced observed time difference of arrival (EOTA), and uplink time of arrival (TOA) position determination systems.

[0032] The term"subscriber station"includes mobile stations.

[0033] The term'; wireless communication system"includes wireless communications systems employing any multiple access mode or protocol, such as but not limited to IS-95 (CDMA), CDMA 2000, WCDMA, GSM, and GPRS systems.

[0034] Figure 1 illustrates a system 100 for estimating a frequency shift parameter of an oscillator 106. A signal is received over antenna 102. A down-converter 110 down-converts the received signal using the oscillator 106. In one embodiment, the down-converter 110 comprises mixer 104 in combination with oscillator 106, but it should be appreciated that other examples are possible. Logic 108 derives first and second correlation functions from the down-converted signal 112. The first and second correlation functions represent the likelihood of one or more hypothesized frequency parameters at first and second times, respectively. Logic 108 derives an estimate of the frequency shift parameter from the first and second correlation functions.

[0035] In one embodiment, the signal received over antenna 102 comprises a composite signal representing one or more signal sources. Down-converter 110 down- converts the signal, and logic 108 derives, for each of one or more of the signal sources, first and second correlation functions. The first and second correlation functions again represent the likelihood of one or more hypothesized frequency parameters at first and second times, respectively. Logic 108 estimates the frequency shift parameter from the first and second correlation functions for one or more of the signal sources.

[0036] In one implementation, logic 108 combines one or more of the first correlation functions to form a first combined correlation function, and combines one or more of the second correlation functions to form a second combined correlation function. Logic 108 derives the frequency shift estimate from the first and second combined correlation functions. In one example, logic 108 selectively combines one or more of the first correlation functions, using a quality of signal metric, such as SNR, to form the first combined correlation function, and selectively combines one or more of the second correlation functions, using a quality of signal metric, again such as SNR, to form the second combined correlation function.

[0037] Figure 2 illustrates an embodiment 200 of a system for estimating a frequency shift parameter of an oscillator in a position determination system. In this particular example, the system is embodied or integrated within a subscriber station, which in turn is part of a GPS position determination system, but it should be appreciated that other examples are possible. The system 200 functions in two modes of operation, a normal mode, and a calibration mode. The normal mode will be explained first followed by the calibration mode.

[0038] A signal is received over antenna 202. The received signal is a composite signal representing one or more position determination signal sources visible to the subscriber station. In the example illustrated, the one or more signal sources are each GPS satellites 204a, 204b, and 204c visible to the subscriber station's receiver in the presence of noise, but it should be appreciated that other examples are possible. Each of these satellites transmits a signal marked with a repeating PN code of 1,023 chips uniquely identifying the satellite. The PN codes for the satellites are shifted versions of one another. The 1,023 chips repeat every millisecond. The signal is also modulated with data bits, where each data bit has a 20 ms duration in the modulated signal.

[0039] The received signal is down-converted to an intermediate frequency by a down-converter 206. In the particular example illustrated, the down-converter 206 comprises a mixer 208 in combination with a local oscillator 210, with the frequency of the local oscillator 210 set to the difference in frequency between the received signal and the intermediate frequency.

[0040] The down-converted signal 212 is passed through low pass filter 214 to eliminate the high order component of the down-converted signal 212, and then digitized by A/D converter 216.

[0041] The digitized signal 218 is passed through quadrature demodulator 228, which divides the digitized signal 218 into in-phase (1) and quadrature (Q) components.

In this particular example, the quadrature modulator 228 comprises mixer 220, local oscillator 222, 90° phase shifter 224, and mixer 226, but it should be appreciated that other examples are possible. The frequency of the local oscillator 222 is set at about the intermediate frequency of the signal 218 to allow the de-modulator 228 to down-convert the signal 218 to baseband or near baseband frequencies.

[0042] Mixer 220 down-converts the signal 218 to baseband or near baseband frequencies using the output of the local oscillator 222, and low pass filter 230 filters out the high order component of this signal to form the I component 234. Mixer 226 down- converts the signal 218 to baseband or near baseband frequencies using the 90° phase- shifted version of the output of local oscillator 222, and low pass filter 232 filters out the high order component of this signal to form the Q component 236.

[0043] PN generator 238 generates a PN code for one of the satellites. XOR gates 240 and 242 XOR the I and Q signals 234,236, respectively, with the PN code. The effect is to de-spread the I and Q components.

[0044] The de-spread components are each input to signal processing logic 244.

Signal processing logic 244 separately and coherently integrates Nc successive values of each component, and non-coherently combines M successive coherent integrations to form a correlation value C.

[0045] Successive correlation values C are provided to microprocessor 246.

Microprocessor 246 forms two-dimensional correlation functions from the correlation values C provided to it from signal processing circuitry 244. As indicated by phantom line 248, microprocessor 246 controls the PN generator 238 to shift the PN code for a particular satellite within a search window W. As indicated by phantom lines 250 and 252, it also controls either or both local oscillators 210 and 222 to vary the frequency applied by either over a plurality of discrete frequency bins. It forms the correlation function by associating the correlation values which result by independently varying these two parameters.

[0046] Figure 3 is an example of a two dimensional correlation function which may be generated by this process. The particular shape of this correlation function is implementation dependent, so nothing in this particular example should be taken as limiting. The correlation function in this particular example is the energy in dB which <BR> <BR> results by varying the code phase, i. e. , the PN code shift in l/z chip increments, over a search window W, and varying the frequency applied by either or both local oscillators over a plurality of discrete Doppler frequency bins. The variation in code phase which is possible defines a code phase axis or dimension 302, and the variation in Doppler frequency which is possible defines a Doppler frequency axis or dimension 304. Along axis 4-4, the code phase dimension, the correlation function forms three lobes, identified with numerals 306b, 308a and 308b, respectively. Along axis 5-5, the Doppler frequency dimension, the correlation function also forms three lobes, identified with numerals 30ba, 306b, and 306c, respectively.

[0047] Figure 4 illustrates a cross-section of the correlation function along axis 4- 4. The three lobes 306b, 308a, 308b in Figure 3 manifest themselves in Figure 4 as peaks 402a, 402b, and 402c, respectively. Peak 402a is the important peak for position determination purposes. Figure 5 illustrates a cross-section of the correlation function along axis 5-5. The three lobes 306a, 306b, 306c manifest themselves in Figure 5 as peaks 502a, 502b, 502c. Peak 502a is the important peak for position determination purposes.

[0048] The microprocessor 246 locates the peaks of the correlation function along both the code phase and Doppler frequency bin dimensions. It derives an estimate of the time of arrival for the satellite from the location of the peak along the code phase dimension. It derives an estimate of any Doppler frequency shift (due to relative movement between the subscriber station and the satellite) from the location of the peak along the Doppler frequency bin dimension.

[0049] The microprocessor 246 repeats this process for one or more additional satellites by controlling PN generator 238 to apply the PN code for these additional satellites. Through this process, the microprocessor 246 derives three or more time of arrival measurements for three or more of the satellites. It then accesses (or has another network entity access) an almanac (not shown) to determine the precise locations of each of the satellites. It then estimates (or has the network entity estimate) the location of the subscriber station from this information using known trilateration or triangulation techniques. In one implementation, the microprocessor 246 requires four or more time or arrival measurements, which allows determination of the x, y and z coordinates of the position of the subscriber station and system time t. Microprocessor 246 also estimates or has estimated any Doppler frequency shift due to relative movement between the subscriber station and one or more of the satellites.

[0050] In the calibration mode of operation, microprocessor 246 is configured to derive correlation functions as before, except that the axis 304 no longer represents hypothesized Doppler frequency bins. Instead, the axis 304 represent hypothesized frequencies for the I and Q signals 234 and 236 in Figure 2. One or both of the local oscillators 210,222 are assumed to be susceptible to unwanted frequency shifts or rates of change, and the purpose of the special calibration mode of operation is to estimate any such shifts or rates of change.

[0051] Through the previously described process, the microprocessor 246 forms a two-dimensional correlation function for a particular satellite. Then it derives from the two-dimensional correlation function a one-dimensional correlation function along the frequency dimension. In one implementation, referring to Figure 4, the microprocessor 246 derives the one-dimensional correlation function by locating the code phase associated with the peak of the main lobe 402a, and then deriving the one-dimensional correlation function at this code phase along the frequency dimension. In one example, the microprocessor 246 locates the non-interpolated peak of the correlation function along the code phase dimension using, and then refines this peak location known quadratic interpolation techniques. The one-dimensional correlation function represents the likelihood of one or more frequency hypotheses at a time tl.

[0052] The microprocessor 246 also utilizes this same process to derive a second one-dimensional correlation function for the same satellite. This second correlation function represents the likelihood of one or more frequency hypotheses at a time t2 displaced from the time tl by a delta value. Both of these one-dimensional correlation functions may be represented as one or more discrete correlation values corresponding to one or more discrete frequency bins.

[0053] The microprocessor 246 circularly cross-correlates the one-dimensional correlation functions corresponding to the first and second times tl and t2. The location of the peak of this circular cross-correlation function is then located. In one example, the non-interpolated peak is located, and then known quadratic interpolation techniques are used to refine the location of this peak. A sweep rate for the one or more local oscillators 210,222 is then estimated from the location of this peak and the delta value separating the times tl and t2. In one example, the sweep rate estimate is derived from the ratio of the peak location (expressed in frequency) divided by the delta value separating the times tl and t2. The result is an estimate of the sweep rate in terms of Hz/sec.

[0054] Figures 6A-6B, 7A-7B illustrate two examples of the process of estimating a sweep rate. Both assume a-130 dBm input signal, a 3dB noise figure, and a 2 dB implementation loss. Figure 6A illustrates first and second correlation functions, identified with numerals 602 and 604 respectively, corresponding respectively to times tl and t2, with t2 being one second after tl. Figure 6B illustrates the circular cross- correlation function which results from circularly cross-correlating the functions 602 and 604. Assuming each frequency bin corresponds to 25 Hz, the location 608 of the peak 606 along the frequency axis, 2, is 50 Hz, consistent with an estimated 50 Hz/sec. sweep rate.

[0055] Figure 7A illustrates first and second correlation functions, identified with numerals 702 and 704 respectively, corresponding respectively to times tl and t2, with t2 again being one second after tl. Figure 7B illustrates the circular cross-correlation function which results from circularly cross-correlating the functions 702 and 704.

Assuming again each frequency bin corresponds to 25 Hz, the location 708 of the peak 706 along the frequency axis, 4, is 100 Hz, consistent with an estimated sweep rate of 100 Hz/sec.

[0056] Figure 8 illustrates simulation results showing the expected RMS error in the sweep rate estimate for different values of input signal level and estimated sweep rate. For example, assuming an input signal level of-144 dBm and an estimated sweep rate of 100 Hz/sec. , the expected RMS error in the estimate of the sweep rate is 4 Hz/ sec.

[0057] Once the sweep rate has been estimated, it may be stored and the calibration mode terminated. The system 200 may then be allowed to enter or resume the normal mode of operation. In the normal mode of operation, the microprocessor 246, armed with the estimated sweep rate, may then control one or both of the local oscillators 210,222 to counteract, in whole or in part, this sweep rate. More specifically, both are assumed to have a variable frequency under the control of the microprocessor 246 as indicated in phantom by the lines 250 and 252. Microprocessor 246 may use the estimated sweep rate to adjust the frequency of one or both of these local oscillators until the effective sweep rate is zero or reduced to a predetermined amount.

[0058] In a second embodiment, while the system 200 is in the calibration mode of operation, microprocessor 246 is configured to derive first and second correlation functions for each of one or more GPS satellites. The first correlation functions represent the likelihood of one or more frequency hypotheses at a time tl, and the second correlation functions represent the likelihood of one or more frequency hypotheses at a time t2 displaced from tl by a delta value. The microprocessor 246 then derives an estimate of the frequency shift parameter from the first and second correlation functions for one or more of the GPS satellites.

[0059] In one implementation, microprocessor 246 is configured to combine one or more of the first correlation functions to form a first combined correlation function, combine one or more of the second correlation functions to form a second combined correlation function, and then derive the estimate of the frequency shift parameter from the first and second combined correlation functions.

[0060] In a second implementation, the microprocessor 246 is configured to selectively combine one or more of the correlation functions using a quality of signal metric, such as SNR. For example, the microprocessor may arrange the first correlation functions in descending order of SNR, and discard any waveforms whose non- interpolated peak differs from that of the first waveform by more than +/-1 bin. A weighted sum of the remaining correlation functions may then be formed, with the weighting applied to a given waveform being determined by the difference between the <BR> <BR> SNRs of the waveforms (e. g. , a 3 dB difference in SNR implies a 2: 1 weighting). The same process may be employed to selectively combine the second correlation functions.

The first and second combined correlation functions may then circularly cross- correlated, and the frequency shift parameter derived from the circular cross-correlation function as described earlier.

[0061] The system 200 may be embodied or integrated within a subscriber station.

Figure 9 is a block diagram of a subscriber station in which the system 200 may be embodied or incorporated. Radio transceiver 906 is configured to modulate baseband information, such as voice or data, onto an RF carrier, and demodulate a modulated RF carrier to obtain baseband information. Antenna 910 is configured to transmit a modulated RF carrier over a wireless communications link and receive a modulated RF carrier over a wireless communications link.

[0062] Baseband processor 908 is configured to provide baseband information from an input device within user interface 916 to transceiver 906 for transmission over a wireless communications link. Baseband processor 908 is also configured to provide baseband information from transceiver 906 to an output device within user interface 916. User interface 916 comprises a plurality of devices for inputting or outputting user information such as voice or data. The devices typically included within the user interface include a keyboard, a display screen, a microphone, and a speaker.

[0063] GPS receiver 912 is configured to receive and down-convert GPS satellite transmissions, and provide the down-converted information to correlator 918.

Correlator 918 is configured to derive GPS correlation functions from the information provided to it by GPS receiver 912, and provide the same to CPU 902. For a given PN code, correlator 920 produces a correlation function which is defined over a code phase dimension and a frequency dimension. In the normal mode of operation, the frequency dimension represents Doppler frequency hypotheses. In the calibration mode of operation, the frequency dimension represents hypothesized frequencies of the baseband or near baseband signals down-converted by the GPS receiver 912. In the code phase dimension, the correlation function is defined over a range of code phases which define a search window W. In the frequency dimension, the correlation function is defined over a plurality of frequency bins. Each individual correlation is performed in accordance with defined coherent and non-coherent integration parameters (Nc, M).

Correlator 918 may also be configured to derived pilot-related correlation functions from information relating to pilot signals provided to it by transceiver 906. This information is used by the subscriber station to acquire wireless communications services.

[0064] Channel decoder 920 is configured to decode channel symbols provided to it by baseband processor 908 into underlying source bits. In one example, in which the channel symbols are convolutionally encoded symbols, the channel decoder is a Viterbi decoder. In a second example, in which the channel symbols are serial or parallel concatenations of convolutional codes, the channel decoder 920 is a turbo decoder.

[0065] Memory 904 in configured to hold software instructions for execution by CPU 902. Through execution of these instructions, CPU 902 derives times and frequency measurements from the correlation functions generated by the correlator 908.

In Figure 9, blocks 902,904, 912, and 918 embody or incorporate the system 200 of Figure 2.

[0066] Figure 10 is a flowchart illustrating a first embodiment 1000 of a method of estimating a frequency shift parameter of an oscillator. In this embodiment, step 1002 comprises down-converting a received signal using the oscillator. Step 1004 comprises deriving first and second correlation functions from the down-converted signal. These first and second correlation functions represent the likelihood of one or more hypothesized frequency parameters at first and second times, respectively. Step 1006 comprises deriving an estimate of the frequency shift parameter from the first and second correlation functions.

[0067] The method may be performed in a position determination system such as a GPS position determination system. In one implementation, the method is performed in a subscriber station. In this implementation, the received signal may be a composite signal representing one or more position determination signal sources, such as GPS satellites, visible to the subscriber station's receiver. The first and second correlation functions in this implementation may correspond to the same position determination signal source, e. g. , GPS satellite.

[0068] In one example, the one or more hypothesized frequency parameters comprise one or more discrete hypothesized frequency bins. In this example, the deriving step comprises circularly cross-correlating the first and second correlation functions to form a circular cross-correlation function, locating a peak of the circular cross-correlation function, and deriving an estimate of the frequency shift parameter from the location of the peak of the circular cross-correlation function.

[0069] The oscillator may be a local oscillator in a down-converter within a receiver in the subscriber station. In one configuration, the oscillator has a variable frequency. During a calibration mode of operation, the estimated frequency shift parameter is determined and then stored. During a normal mode of operation, the frequency of the oscillator is controllably varied using the stored estimated frequency shift parameter to counteract in whole or in part the effects of a frequency shift or sweep rate being experienced by the oscillator.

[0070] In one example, the first and second times are displaced from one another by a delta value, and the estimated frequency shift parameter is sweep rate. In this example, the deriving step comprises estimating the sweep rate of the oscillator from the location of the peak of the circular cross-correlation function and the delta value.

[0071] In a second embodiment, the received signal comprises a composite signal representing one or more signal sources. For each of one or more of the signal sources, first and second correlation functions are derived from the down-converted signal. The first and second correlation functions represent the likelihood of one or more hypothesized frequency parameters at first and second times, respectively. An estimate of the frequency shift parameter is then derived from the first and second correlation functions for one or more of the signal sources.

[0072] In one implementation, the method is performed in a subscriber station, and the one or more signal sources are GPS satellites visible to the subscriber station's receiver in the presence of noise. In this implementation, the deriving step may comprise combining first correlation functions for each of one or more of the signal sources to form a first combined correlation function, combining second correlation functions corresponding to one or more of the signal sources to form a second combined correlation function, and then deriving an estimate of the frequency shift parameter from the first and second combined correlation functions.

[0073] Figure 11 is a flowchart of one implementation 1100 of a method of estimating a frequency shift parameter of an oscillator. Step 1102 comprises down- converting a received signal comprising a composite signal representative of one or more signal sources. Step 1104 comprises deriving first and second correlation functions for each of one or more of the signal sources at first and second times, respectively. Step 1106 comprises selectively combining the first correlation functions of one or more of the signal sources to form the first combined correlation function using a quality of signal metric. Step 1108 comprises selectively combining the second correlation functions of one or more of the second signal sources to form the second combined correlation function using a quality of signal metric. Step 1110 comprises deriving an estimate of the frequency shift parameter from the first and second combined correlation functions.

[0074] In one example, the quality of signal metric used to combine the first and second correlation functions is SNR. In this example, the first and second correlation functions may each be arranged in decreasing order of SNR. Those waveforms in which non-interpolated peak differs from that of the initial waveform by more than +/-1 bin are excluded. The remaining first correlation functions are combined through a weighted averaging approach, in which the relative weight applied to a waveform in relation to another waveform depends on the difference in SNRs between the two waveforms. The remaining second correlation functions are combined using the same process.

[0075] The deriving step may comprise circularly cross-correlating the first and second combined correlation functions to form a circular cross-correlation function, locating a peak of the circular cross-correlation function, and deriving the estimate of the frequency shift parameter from the location of the peak.

[0076] In one example, the first and second times are displaced from one another by a delta value, and the estimated frequency shift parameter is a sweep rate. In this example, the deriving step comprises estimating the sweep rate of the oscillator from the location of the peak of the circular cross-correlation function and the delta value.

[0077] In one embodiment, a memory holds software instructions embodying any of the foregoing methods, or embodiments, implementations, or examples thereof which have been described or suggested. This memory may be part of a system such as that illustrated in Figure 12. In Figure 12, system 1200 comprises a processor 1202 and the above-described memory, identified in the figure with numeral 1204. In this system, processor 1202 is configured to access the memory 1204 and execute the software instructions held therein.

[0078] While various embodiments, implementations and examples have been described, it will be apparent to those of ordinary skill in the art that many more embodiments, implementations and examples are possible that are within the scope of this invention. Consequently, the invention is not to be limited except in relation to the appended claims.