SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By yahugh
Is there a currently available GPS receiver that can provide carrier phase and pseudorange data? (Elsewhere on this forum I found reference to such a receiver that is, unfortunately, no longer available.) I'm interested in experimenting with deeply-coupled inertial/GPS navigation systems and these typically require the use of carrier phase and pseudorange data rather than the latitude/longitude solution.
By mbavaro77

There are lots actually... you did not search with enough motivation! :)
Between the low cost ones:
NVS NV08C-CSM ... =lookahead
uBlox LEA-6T ... il&sku=740
uBlox NEO-6P/T
Skytraq S1315F-RAW ... ers/yuan10
CSR GSD4e (almost all FW versions, but the carrier phase observables quality is unproven) ... ies/it430/

By yahugh
@mbavaro77: thanks for your suggestions. I guess the definition of "low cost" depends on how much one has on one's wallet! I was hoping for something more like the products in Sparkfun's portfolio, i.e. under USD100.
By mbavaro77

I am pretty sure that the GP2106:
has carrier phase.. problem is.. good luck with that antenna!

Otherwise you have to go for after-market, e.g. ... a43d2.html
But don't complain if you will have to re-do all your tuning if the system goes commercial and you can't source your goods on ebay!

Hi. I started using the LEA-6T, but I am having problems decoding the pseudorange values from RXM protocol, as they turn out not compatible with satellite positions and user position. Also, I get values different from Novatel's, that works fine. I have seen once a reference reviewing problems with ublox pseudorange and carrier phase information, but lost it. Does anybody has information on that. Ublox has not been helpful on that. Thank you.
By Am78
Apparently u-blox LEA-6T return the phase change (or the number of wavelengths of distance change) between the satellite and the receiver from one measurement epoch to the next. So what we really have is a measurement of the change in distance between the satellite and the receiver over a known period of time. Unfortunately, the data sheet / protocol description documents do not state it clearly.
Are there other receivers which are returning the actual carrier phase measurements i.e. a measurement of the phase of the arriving carrier wave signal from the gps satellite?

By mbavaro77
The phase of a sine-wave is a number between 0 and 2*PI. As you can guess that isn't very useful.

What LEA-T outputs is the Doppler frequency in Hz, so the number of cycles that are counted from one second to another.
It also outputs the carrier phase as integral of the Doppler frequency (computed at much finer intervals than 1 second, typically 1 kHz).
Because it has a digital PLL (Phase Lock Loop) it guarantees that this measured phase and the phase of the incoming signal match - modulo 2*PI of course.
Above 30 dB/Hz the fractional part is usually locked and you will have solve for the integer part ambiguity if you want to derive a range.

Hope this explains,
By Am78
thanks Michele,
if the carrier phase is computed as the integral of the Doppler frequency, I assume the start of domain of integration is not known, right? Thus according to the protocol description document of LEA-6T, carrier phase is reported as L1 cycles: I assume it is in radians i.e. I should take the modulo 2*pi, right?

By mbavaro77
The start would not matter anyway.
In fact, the PLL adjusts the local frequency so that the local carrier phase matches the remote one. Once the condition is met, you know that there is an integer amount of cycles between the receiver antenna phase centre and the satellite antenna phase centre.
Solving the ambiguities means finding that integer. Each cycle is 19 cm, so a well locked PLL provides mm-level accuracy.

Nope, if uBlox outputs cycles they have to be considered modulo 1 (1 cycle = 2*PI radians). By the way, "cycles" is the standard unit for carrier phase ambiguity (and nicely matches integrated Hz).

By Am78
Michele, thanks a lot for your insight, it was really helpful. I noticed that most of the GPS receivers you mentioned lack the details regarding RAW measurements, particularly how carrier phase data is computed. I noticed there are many tutorials available like :
Does the carrier phase described in those tutorials match the raw measurement of the carrier phase returned by most or all the existing receivers ?

By michelebavaro
Oh, I see you found the article from Cillian with whom I had the privilege of working for a few months :)
No manufacturer will disclose how it derives carrier phase in its receiver. In principle a receiver could even avoid tracking phase and just maintain Doppler alignment and detect bit transitions.
Double differencing carrier phase in zero baseline is not that hard.. you should try!
By Am78
thanks, the Cillian article provides a detailed insight on how the carrier phase is computed within a GPS receiver. Thus basically I should verify that the u-blox LEA-6T also complies with what the article states running the double differencing carrier phases in zero baseline experiment and see if there are any misclosures. If not then it means the receiver ensures both that the ambiguity term is constant and also that the initial phase is chosen so as to ensure a common phase bias in all tracking channels, right?
Nonetheless I have not yet figured out where the integration of the doppler frequency comes into the picture when estimating the carrier phase.