Nmea active satellites and BeiDou

How do you determine total number of active satellites from nmea output from all GNSS (GPS, GLONASS, Galileo, BeiDou, QZSS) ?

In the GNGNS message we get total number of satellites, but it only seems include the GNSS that also produces GNGNS messages, meaning GPS, GLONASS and Galileo. Those that end with system id 1,2,3. We never get such sentences for system id 4 and 5 (BeiDou and QZSS).

Enabling all nmea for all, for example beidou using beidounmeatype,3.

Here is what I get from a EC25.
ATI:
Quectel
EG25
Revision: EG25GGBR07A07M2G

NMEA:
$PQGSA,A,2,27,30,1.6,1.3,0.9,437 // 4 -> BeiDou, 2 active satellites
$PQGSA,A,2,1.6,1.3,0.9,5
30 // 5 -> QZSS, 0 active satellites

$PQGSV,3,1,11,27,09,184,30,30,40,230,34,02,05,12,127,0,45A // 4 -> BeiDou, 11 satellites in view
$PQGSV,3,2,11,06,09,043,09,34,053,16,13,043,20,21,251,0,4
6F
$PQGSV,3,3,11,23,04,127,24,14,026,29,34,302,0,4*50

$PQGSV,1,1,01,03,05,047,0,5*5E //5 -> QZSS 1 satelllite in view

A bit confusing as for the PQGSV sentence it shouldn’t be system id but signal id. We get both, but who am I to complain about more data :slight_smile:

The problem is summing up the active satellites from GNGSA (only get for system id 1,2,3) that is always equal to the satellites in use field in GNGNS.

$GPGGA,092500.00,5744.855720,N,01204.945381,E,1,05,1.6,52.7,M,39.0,M,,*50
$GNGNS,092500.00,5744.855720,N,01204.945381,E,AAA,10,1.6,52.7,39.0,,,V*5B
$GPVTG,184.2,T,183.6,M,0.0,N,0.0,K,A*20
$GPRMC,092500.00,A,5744.855720,N,01204.945381,E,0.0,184.2,101120,0.5,E,A,V*42
$GPGSA,A,2,01,04,09,21,22,,,,,,,,1.9,1.6,0.9,1*27 //5 active matching the GPGGA above, great.
$GNGSA,A,2,01,04,09,21,22,,,,,,,,1.9,1.6,0.9,1*39 //5 active matching the GPGGA above, great, system id = 1.
$GNGSA,A,2,87,88,,,,,,,,,,,1.9,1.6,0.9,2*3A //2 active GLONASS, system id 2
$GNGSA,A,2,03,05,36,,,,,,,,,,1.9,1.6,0.9,3*37 //3 active Galileo, system id 3.

Adding up to 10 active in use, which is matching what’s in GNGNS, great, but what about the 2 BeiDou in PQGSA?

What does this mean? If I would like to know total number of satellite sin use for the fix (which we only get from GNGNS) I would need to add those in PQGSA for BeiDOu and QZSS to that total number? Are they actually used as there is no message with latitude/longitude that also has that total number of satellites?

Dear Mattias,
Thanks for your inquiry in Quectel forum.Please check the following answers to your question. Thanks!

[A]You can check GSV senttences.If you want to check Beidou or QZSS, please check the PQGSV sentence. Thanks!
image

And for module GNSS NMEA sentence, you can check the following explanation. Normally Beidou or QZSS just as assist GPS, GPS is the mainly satellite system used. Thanks!

Thanks for your quick and detailed reply but it doesn’t answer any of the two questions marked 1 and 2 in the end there actually.

Question were about active (in use) satellites, not “in view”. So GSV is not relevant for that, GSA is. GSV was just included for completeness.

We know how to interpret the PQGSA as well of course for both BeiDou (2 active in the example) and QZSS (0 active in the example).

Those two are never included in any total active/used satellites for a position fix in a sentence though (GNGNS, or other). So how are we to think about them? How many satellites are actually used for the position fix?

GNGNS says 10 are active/used in the example above, of which :

  • 5 active/used GPS, as told by both GPGGA, GPGSA and the GNGSA with system id 1 in the end
  • 2 active/used GLONASS, as told by GNGSA with system id 2 in the end
  • 3 active/used Galileo, as told by GNGSA with system id 3 in the end.

This adds up to 10.

But PQGSA says 2 BeiDou are also active at the same time. So are A) 12 actually used for the fix, or B) are BeiDou (and QZSS) never actually used? If B, what does active, from PQGSA, mean? Good enough to have been used?

By the way, that documentation quoted from the beginning of that document doesn’t match what’s actually said is configurable later on in that document (chapter 2.1.5) using the QGPSCFG AT command with “galieleonmeatype” , it only list 0 and 1 as supported value? Can never get GAGGA ,GARMC, GAVTG for example, but instead get GNGNS with system id 3, along with GAGSV when set to 1.

Dear Mattias,
Thanks for your updating.
About your issue, normally it should be situation A,if you set it as GPS+Glonass+Galileo+Beidou, and it can tracking the above satellites, of course it will the all satellites to calculate the position. And about the command setting, you can ask for the latest module firmware package to upgrade it to have a try. You can email to support@quectel.com to get the firmware package. Thanks!

Thanks for the clarification, much appreciated.
AT+qgmr
gives
EG25GGBR07A07M2G_01.002.01.002

Didn’t think there was anything newer than that, and the doc you quote is in conflict with itself.

Dear Mattias,
The latest firmware version is EG25GGBR07A08M2G_01.002.01.002. Please email to support@quectel.com to get it. Thanks!

1 Like