Claims
- 1. A method for computing correlations of a digital signal with a pseudorandom reference code comprising:
a) selecting a sample spacing from a plurality of sample spacings; b) sampling the digital signal to produce a first set of digital signal samples having a first sample spacing; c) dividing a pseudorandom reference code into a plurality of code segments; d) selecting a code segment; e) forming an inner product between said selected code segment and the first set of digital signal samples to produce a partial correlation; f) repeating steps d) and e) to produce a plurality of partial correlations; g) summing the plurality of partial correlations as each partial correlation is produced to form a plurality of first correlations.
- 2. The method of claim 1 further comprising:
h) selecting a region of interest using said first correlations; i) sampling the digital signal to produce a second set of digital signal samples having a second sample spacing; and j) performing one or more second correlations between said pseudorandom reference code and said second set of digital signal samples within said region of interest to produce one or more second correlations.
- 3. The method of claim 2 wherein step j) further comprises:
j1) dividing the pseudorandom reference code into a plurality of code segments; j2) selecting a code segment; j3) forming an inner product between said selected code segment and the second set of digital signal samples to produce a partial correlation; j4) repeating steps j2) and j3) to produce a plurality of second partial correlations; and j5) summing the plurality of second partial correlations as each second partial correlation is produced to form a plurality of second correlations.
- 4. The method of claim 1 further comprising:
dividing the pseudorandom reference code into a fixed number of non-overlapping code blocks; dividing each of said code blocks into a fixed number of non-overlapping code segments; and storing each said code blocks in a lookup table.
- 5. The method of claim 4 wherein said step d) comprise:
selecting a code block as said code segment from said lookup table.
- 6. The method of claim 2 wherein the pseudorandom reference code is a C/A code of the global positioning system.
- 7. The method of claim 6 wherein said first sample spacing is ½ of a C/A code chip.
- 8. The method of claim 6 wherein said second sample spacing is ⅕ of a C/A code chip.
- 9. The method of claim 1 further comprising:
dividing the digital signal into in-phase and quadrature components; and separately performing steps a) through g) on said in-phase and said quadrature components.
- 10. A receiver of global positioning system (GPS) signals comprising:
an RF/IF converter for filtering and frequency translating a received GPS signal to form an IF signal; an analog to digital converter for digitizing said IF signal; a tuner for removing Doppler shift from said digitized signal and producing an in-phase (I) and a quadrature (Q) signal; a decimation circuit for subsampling said I and Q signals, said subsampled I and Q signals having either a first sample spacing or a second sample spacing; a mode selection processor for selecting either said first sample spacing or said second sample spacing; and a convolution processor for performing convolution operations between a C/A reference code and said subsampled I and Q signals.
- 11. The receiver of claim 10 wherein said convolution processor comprises:
a code generator for producing a C/A reference code comprising a code lookup table and a first and a second code extender.
- 12. The receiver of claim 10 wherein said convolution processor comprises:
a first shift register for storing a segment of said subsampled I signal; and a second shift register for storing a segment of said subsampled Q signal.
- 13. The receiver of claim 10 further comprising:
a plurality of processing channels, where each channel produces a convolution for a different GPS signal.
- 14. The receiver of claim 13 further comprising:
a computer for computing a position location using a plurality of convolutions.
- 15. Apparatus for computing correlations of a digital signal with a pseudorandom reference code comprising:
a) means for selecting a sample spacing from a plurality of sample spacings; b) means for sampling the digital signal to produce a first set of digital signal samples having a first sample spacing; c) means for dividing a pseudorandom reference code into a plurality of code segments; d) means for selecting code segments; e) means for forming inner products between each of said selected code segments and the first set of digital signal samples to produce plurality of partial correlations; f) means for summing the plurality of partial correlations as each partial correlation is produced to form a plurality of first correlations.
- 16. The apparatus of claim 15 further comprising:
g) means for selecting a region of interest using said first correlations; h) means for sampling the digital signal to produce a second set of digital signal samples having a second sample spacing; and i) means for performing one or more second correlations between said pseudorandom reference code and said second set of digital signal samples within said region of interest to produce one or more second correlations.
- 17. The apparatus of claim 16 wherein means for performing one or more correlations further comprises:
j1) means for dividing the pseudorandom reference code into a plurality of code segments; j2) means for selecting code segments; j3) means for forming inner products between each of said selected code segments and the second set of digital signal samples to produce a plurality of second partial correlations; and j4) summing the plurality of second partial correlations as each second partial correlation is produced to form a plurality of second correlations.
- 18. The apparatus of claim 15 further comprising:
means for dividing the pseudorandom reference code into a fixed number of non-overlapping code blocks; means for dividing each of said code blocks into a fixed number of non-overlapping code segments; and means for storing each said code blocks in a lookup table.
- 19. The apparatus of claim 18 wherein said means for selecting said code segments comprises:
means for selecting a code block as said code segment from said lookup table.
- 20. The apparatus of claim 16 wherein the pseudorandom reference code is a C/A code of the global positioning system.
- 21. The apparatus of claim 20 wherein said first sample spacing is ½ of a C/A code chip.
- 22. The apparatus of claim 20 wherein said second sample spacing is ⅕ of a C/A code chip.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/861,086, filed May 18, 2001 and incorporated herein by reference.
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09861086 |
May 2001 |
US |
| Child |
09900499 |
Jul 2001 |
US |