Claims
- 1. A method of computing a correlation between a pseudorandom reference code and a satellite signal, the method comprising:
(a) receiving a satellite signal having a repeating code modulated thereon; (b) correlating the pseudorandom reference code with a portion of the satellite signal to produce a correlation over a period less than a period of the repeating code.
- 2. The method of claim 1, further comprising:
(c) forming values representative of a magnitude or a power of the correlation to produce an energy signal; (d) repeating steps (b) and (c) to produce a plurality of energy signals; and (e) summing the plurality of energy signals as each energy signal is produced.
- 3. The method of claim 1, wherein step (b) comprises:
(b1) dividing the pseudorandom reference code into a plurality of code segments; (b2) selecting a code segment; (b3) forming an inner product between the selected code segment and a portion of the repeating code of the satellite signal; and (b4) repeating steps (b2) and (b3) to produce a plurality of inner products.
- 4. The method of claim 3, further comprising:
generating the code segments from a lookup table by selecting one of a fixed number of non-overlapping segments of the pseudorandom code.
- 5. The method of claim 3, wherein the repeating code is a C/A code of a global positioning system.
- 6. The method of claim 5, wherein step (a3) comprises:
multiplying each sample in the portion of the C/A code with a respective chip of the selected code segment; and summing each multiplication result with other multiplication results to produce the inner product.
- 7. The method of claim 1, wherein the period of the repeating code is 1 millisecond.
- 8. The method of claim 1, further comprising:
dividing the satellite signal into in-phase and quadrature components; and separately performing step (b) on the in-phase and quadrature components.
- 9. A receiver of global positioning system (GPS) signals, comprising:
an RF/IF converter for filtering and frequency translating received GPS signals having a repeating code to form an IF signal; a tuner for producing an in-phase (I) signal and a quadrature (Q) signal; a convolution processor for multiplying portions of a C/A reference code with portions of the repeating code of the I and Q signals to produce a plurality of I and Q inner products; and a first accumulator for accumulating the I inner products over a period less than a period of the repeating code to-produce an I correlation over a period less than a period of the repeating code; and a second accumulator for accumulating the Q inner products over a period less than a period of the repeating code to produce a Q correlation over a period less than a period of the repeating code.
- 10. The receiver of claim 9, further comprising:
a signal normalizer for generating normalizer values representative of the magnitude or power of the I and Q correlations; and a magnitude accumulator for summing the normalizer values.
- 11. The receiver of claim 10, further comprising:
a plurality of processing channels, where each channel produces an I correlation and a Q correlation for a different GPS signal.
- 12. The receiver of claim 10, further comprising:
a computer for computing a position location using the sum of the normalizer values.
- 13. A method of estimating a frequency shift in a digital signal having a repeating code, comprising:
correlating the digital signal with a pseudorandom reference code to produce a first correlation; correlating the digital signal with a pseudorandom reference code to produce a second correlation; determining a first signal delay from the first correlation; determining a second signal delay from the second correlation; and computing the frequency shift using a difference between the first and second signal delays over time.
- 14. The method of claim 13, wherein the steps of correlating the digital signal to produce the first correlation and correlating the digital signal to produce the second correlation comprise:
multiplying portions of the pseudorandom reference code with portions of the digital signal to produce a correlation over a first period.
- 15. The method of claim 14, further comprising:
forming values representative of a magnitude or a power of the correlation to produce an energy signal; repeating the steps of multiplying and forming to produce a plurality of energy signals; and summing the plurality of energy signals as each energy signal is produced.
- 16. The method of claim 14, wherein the step of multiplying comprises:
(a) dividing the pseudorandom reference code into a plurality of code segments; (b) selecting a code segment; (c) forming an inner product between the selected code segment and a portion of the repeating code of the digital signal; and (d) repeating steps (b) and (c) to produce the correlation.
- 17. The method of claim 14, further comprising:
correlating the digital signal with a pseudorandom reference code to produce at least one additional correlation by multiplying portions of the pseudorandom reference code with portions of the digital signal over a second period.
- 18. The method of claim 17, wherein the second period is longer than the first period.
- 19. The method of claim 18, wherein the first period is less than a period of the repeating code.
- 20. The method of claim 19, wherein the period of the repeating code is 1 millisecond.
- 21. The method of claim 20, wherein the repeating code comprises a C/A code of a global positioning system.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of co-pending U.S. patent application Ser. No. 09/900,499, filed Jul. 6, 2001, which is a continuation-in-part of co-pending U.S. patent application Ser. No. 09/861,086, filed May 18, 2001, each of which are incorporated herein by reference in their entireties.
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
09900499 |
Jul 2001 |
US |
Child |
10394404 |
Mar 2003 |
US |
Parent |
09861086 |
May 2001 |
US |
Child |
09900499 |
Jul 2001 |
US |