Imagine that a minimal GPS device is attached to a moving object (animal, shipping container, geocache object, etc). Every few months, data from the device is downloaded for post-processing.

What is the minimal set of data the device must collect so that post-processing can ascertain the device's position history?

Could the device simply store demodulated L1 signals with a timestamp? Would that be enough to calculate the latitude, longitude and elevation during post-processing?

I'm interested in understanding how much GPS processing must be done on the receiver and how much can be postponed to post-processing.

2 Answers 2


The logic of gps system is as you know that it calculates the distance to satellites by timing a signal's journey from satellite to receiver.

i think it is not so easy as you mentioned. There are some pseudo-random codes for timing which accommodate not only receiver but also its satellites. it differs from each other with pattern of values from satellite to satellite. and there are lots of procedure to decode the so complicated signal.

The signal is so complicated that it almost looks like random electrical noise. Hence the name "Pseudo-Random". It's a Spread Spectrum radio trasmission.

timing codes

i want to advice you some doc for understanding gps complex structure:

1.Understanding GPS Technology, here.

2.Principles of GPS positioning, here. pls check out this which has some code measurements model for solving it...

3.Decoding the GPS Signal, here.

4.Transmitted GPS Signals, here.


The GPS satellites transmit signals on two carrier frequencies. The L1 carrier is 1575.42 MHz and carries both the status message and a pseudo-random code for timing. The L2 carrier is 1227.60 MHz and is used for the more precise military pseudo-random code.

Pseudo-Random Codes

There are two types of pseudo-random code. The first pseudo-random code is called the C/A (Coarse Acquisition) code. It modulates the L1 carrier. It repeats every 1023 bits and modulates at a 1MHz rate. Each satellite has a unique pseudo-random code. The C/A code is the basis for civilian GPS use. The second pseudo-random code is called the P (Precise) code. It repeats on a seven day cycle and modulates both the L1 and L2 carriers at a 10MHz rate. This code is intended for military users and can be encrypted. When it's encrypted it's called "Y" code.

Navigation Message

There is a low frequency signal added to the L1 codes that gives information about the satellite's orbits, their clock corrections and other system status.

i hope it helps you...


After further research, this is what I found. Each Navigation Message from the GPS satellites contains a satellite ID, a timestamp, ephemeris data and almanac data. Both ephemeris and almanac data are available from other sources after the GPS signals have arrived. Storing only the satellite ID, its timestamp and the receiver's timestamp (when the Navigation Message arrived) is enough to calculate position. As hinted in Kirk Kuykendall's comment, this is equivalent to the satellite ID and pseudorange data stored in a RINEX file.

Apparently U-blox has chips that do exactly this kind of minimal data collection. They call it "Capture & Process". They've published a few whitepapers and presentations outlining some of the details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.