A machine-readable storage medium storing instructions, which when executed by a processor, cause the processor to perform a method of processing satellite positioning system (SPS) signals, the method comprising: \n receiving a set of SPS signal samples from a particular SPS transmitter; \n performing a first correlation on the set of SPS signal samples with a first pseudorandom sequence using a first multiplier and adder to provide a first correlated result; and \n performing a second correlation on the set of SPS signal samples with a second pseudorandom sequence using the first multiplier and adder to provide a second correlated result, and wherein the second pseudorandom sequence corresponds to the first pseudorandom sequence shifted in time, and wherein the adder comprises a loop integrator, \n wherein performing the first and second correlations comprise comparing a unique identification code contained within the set of SPS signal samples with a locally generated identification code, wherein each of the first correlated result and the second correlated result comprises the result of a comparison of each phase of the unique identification code with a corresponding phase of the locally generated identification code, and \n wherein each of the SPS signal samples is multiplied sequentially by successive half-chips of the locally generated identification code shifted in time and summed by the loop integrator with similar results for previous data samples.
Highly parallel GPS correlator system and method