A data detection circuit within a global positioning system (GPS) satellite receiver
operates to detect and decode data sent in a spread spectrum signal. The data detection
circuit receives input from a radio receiver, the information containing data from
a plurality of satellites. The data is supplied to a circular memory device, which
determines which data corresponds to which satellite. The memory device sends the
received signal to a matched filter, which decodes the signal received from each
satellite. This signal is analyzed to determine whether a phase inversion due to
data modulation on the received signal is present. The phase inversion can occur
at boundaries, known as data epochs, in the received signal, and corresponds to
data in the received signal. This data contains information relating to the position
of each satellite and is collected by the data detection circuit for use by the
GPS receiver.