A GPS receiver acquires carrier frequency and Gold code phase using short segments
of a received GPS signal. In one embodiment, a 1-ms segment of the GPS signal is
transformed to the frequency domain. This is multiplied by a frequency representation
of the Gold code. The resulting product is converted to the time domain, and a
peak is detected. The location of the peak corresponds to the code phase. If no
peak is located, the carrier frequency is changed. Full- and half-bin steps in
carrier frequency are considered. Processing gain is achieved by using longer segments
of the input signal, for example 4 or 16 ms and integrating 1-ms segments. Considerations
are provided for compensating for the effects of a transition, should it occur
in the short segment of the GPS signal being processed. Integrations can be performed
using non-coherent and coherent techniques. Adjustments are made for non-integral
millisecond segment lengths.