Pull to refresh

Does GPS transmit different data into LNAV and CNAV messages?

Reading time2 min

Different navigation message protocols are used for different navigation signal type. This is true even for a single system like NAVSTAR GPS. For example, L1C/A signals have a LNAV protocol, while L2C and L5 signals utilize a CNAV protocol. The newest L1C signal will use CNAV-2. 

The protocol defines a data distribution into frames, subframes, the subframes structure, transmission intervals, data resolution and so on. 

A navigation receiver use the navigation message data flow for several purposes:

1. The data flow allows to resolve a code ambiguity and set the signal time.

2. Ephemeris and clock values are used for the satellite position calculation, pseudorange corrections and coordinates computation.

3. The received data flow and navigation message data can be used for navigation symbols prediction. As result, we can use the wipe-off technique, expand discriminators and significantly increase tracking sensitivity:

Is it possible to use navigation data from one signal type to wipe-of another signal type? For example, can we wipe-off a C/A signal by a L2C signal data?

It turns out, not really in the case of GPS. This system's satellites transmit different values via different signals. The data describes the same satellite for different timestamps: toe/toc values are not equal. 

For beginning, toe/toc steps are different for LNAV and CNAV. LNAV scale factor is 16 seconds, while CNAV one is 300. A table from ICD for LNAV:

...and for CNAV:

Old type satellites use values with the little step, like toe = 467984. The value is not multiple of 300 and cannot be used directly for CNAV message emitting. But the old satellites have no CNAV signals, actually. So, it is not a big trouble.

Luckily, modern satellites utilize toe/toc values which is multiple of 300. But, suddenly, they still use different timestamps for LNAV and CNAV messages!

Let's look to open sky data. It's collected by a Clonicus receiver at 29 April 2022 morning. BlockIIF, PRN = 6 (and old satellite for comparison in the last column):

The L2C and L5 ephemeris and clock values are equal. But L1C/A values are different! Base times toe/toc have 30 minutes gap. 

Let's look to the newest BlockIII SV. The conclusion is the same:

Is it possible to store only CNAV and extrapolate it to the LNAV base time? It would be good solution for memory utilization. It's ok for the positioning purpose, but it is not enough for the wipe-off technique. We cannot extrapolate some parameters like Crs, e, Cus. We can try extrapolate af0 like:

dtc  = LNAV.toc - CNAV.toc;
toc = CNAV.toc + dtc;
af1 = CNAV.af1 + CNAV.af2 * dtc * 1000; 
af0 = CNAV.af0 + af2 * dtc * 1000; 

but the accuracy is not enough for the bit-accurate data prediction. For our example, the extrapolated data accuracy is 3 cm, while CNAV message has 8 mm scale factor for the af0 parameter. 


1. Yes, LNAV and CNAV may contain different ephemeris and clock values. 

2. Receiver have to store both LNAV and CNAV data sets for wipe-off technique. We can use any data set for the positioning purpose.

Total votes 3: ↑3 and ↓0+3