Claims
- 1. A GPS receiver, comprising
an antenna to collect a GPS signal that is a composite signal comprising a contribution from each GPS satellite in view of the receiver; a signal conditioning processor to amplify, filter and downconvert the GPS signal to baseband; an A/D converter to digitize the GPS signal at a predetermined sample rate; a memory to store a portion of the GPS signal; an FFT process to convert the portion of the GPS signal stored in the memory to the frequency domain; a multiplier for multiplying the frequency representation of the stored GPS signal with a frequency representation of a Gold code associated with one of the GPS satellites in view of the GPS receiver and for storing the result in the memory as a product; an inverse FFT process for converting the product to the time domain as a convolution; and a peak detector to find a location of a peak in the convolution, the location of the peak being an estimate of the Gold code phase.
- 2. The GPS receiver recited in claim 1, wherein the peak detector comprises curve fitting means to refine the estimate of the peak location.
- 3. The GPS receiver recited in claim 1, wherein the frequency representation of the Gold code is pre-computed and stored in memory.
- 4. The GPS receiver recited in claim 1, further comprising means for adjusting carrier frequency to improve the Gold code phase estimate.
- 5. The GPS receiver recited in claim 5, wherein the means for adjusting carrier frequency comprise means for performing a half-bin analysis.
- 6. A GPS receiver to receiver and detect a composite GPS signal comprising GPS signals from all GPS satellites in view of the GPS receiver, comprising:
an antenna to receive the composite GPS signal; a memory to store a portion of the received composite GPS signal; means for segmenting the stored GPS signal into plurality of segments; each segment one millisecond in duration; an FFT process to perform an FFT on each segment; a plurality of multipliers to multiply each FFT segment by a frequency representation of a GPS Gold code to generate a plurality of product vectors; an inverse FFT process to convert each product vector to the time domain; a magnitude calculator to calculate a point-by-point magnitude vector of each of the magnitude vectors; an adder to calculate a point-by-point sum of each of the magnitude vectors; a peak detector to determine a peak location as an estimate of the Gold code phase.
- 7. The GPS receiver recited in claim 6, wherein a carrier frequency of each segment is shifted prior to multiplication by the frequency representation of the Gold code.
- 8. The GPS receiver recited in claim 7, wherein the frequency representation of the Gold code is pre-computed and stored in the memory.
- 9. A method for detecting Gold code phase and carrier frequency in a GPS signal comprising the steps of:
collecting the GPS signal; storing a one millisecond segment of the GPS signal in a memory; converting the stored GPS signal to the frequency domain; multiplying the frequency domain representation of the GPS signal by a frequency representation of a Gold code corresponding to a GPS satellite in view of the GPS receiver to obtain a product; converting the product to the time domain to obtain a correlation signal; detecting a peak correlation signal as the Gold code phase.
- 10. The method recited in claim 9, further comprising the step of adjusting a carrier frequency of the one millisecond sample to make the peak more distinct.
- 11. The method recited in claim 9, further comprising the steps of:
pre-computing the frequency representation of the Gold code; and storing the pre-computed frequency representation of the Gold code in the memory.
- 12. The method recited in claim 9, further comprising the step of using a curve fitting routing to refine the location of the peak.
- 13. The method recited in claim 9, further comprising the step of performing a half bin analysis to further refine the carrier frequency.
- 14. A method for detecting Gold code phase and carrier frequency in a GPS signal comprising the steps of:
collecting a multiple millisecond portion of a composite GPS signal in a GPS receiver; storing the portion of the composite GPS signal in a memory in the GPS receiver; partitioning the collected composite into one millisecond segments; converting each one millisecond segment to the frequency domain; multiplying each of the converted millisecond segments by a frequency representation of a Gold code corresponding to a GP S satellite in view of the receiver to generate a product; converting each product to the time domain to obtain a correlation signal between each millisecond segment and the Gold code; and determining a peak location corresponding to a Gold code phase using the correlation signals.
- 15. The method recited in claim 14, wherein the peak determining step uses non-coherent detection.
- 16. The method recited in claim 15, further comprising the steps of:
calculating a point-by-point magnitude for each of the correlation signals; and summing point-by-point each of the calculated magnitudes.
- 17. The method recited in claim 14, wherein the peak determining step uses coherent detection.
- 18. The method recited in claim 17, further comprising the steps of:
determining an estimate of the peak location; determining a frequency of a sine wave fitting complex values at the point of the peak location; adjusting each correlation in accordance with the determined frequency of the sine wave; summing point-by-point the points of the correlations; calculating the magnitude of the summed correlations; and determining a peak from the calculated magnitude.
- 19. The method recited in claim 17, further comprising the step of choosing only a few points around the estimated peak location to process.
- 20. The method recited in claim 19, further comprising the step of using a look up table to determine an estimate of the Gold code phase.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/223,973, filed Aug. 9, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60223973 |
Aug 2000 |
US |