We built a measurement system that is operated on cars in Germany. Among other things that measurements system includes a u-blox ZED-F9P GNSS receiver on a Sparkfun board and a Raspberry Pi. The two are connected via UART. The GNSS messages are logged with Python. The measurement system isn’t connected to the phone network - there is no modem or SIM in there.
Roughly half the time we get NMEA messages without differential corrections like this:
1720048649.4872622, "$GNRMC,135904.00,A,5051.85346,N,01026.42880,E,8.269,140.82,230724,,,A,V*04
And half the time we do have differential corrections (this worked out of the box):
$GNRMC,115316.00,A,5051.49037,N,01024.93509,E,0.012,,230724,,,D,V*1A
According to the receiver’s protocol manual (page 9) the letter before the last comma indicates the position fix flag:
A
means Autonomous GNSS fix (no DGNSS)D
means Differential GNSS fix
I would like to know how the DGNSS correction data is transferred to our receiver.
Many Google searches later, I can find that SAPOS provides free DGNSS data via NTRIP (requires internet) and that WSV provides DGNSS via MF radio. The datasheet of the GNSS receiver doesn’t mention anything about internet or a phone connection and afaik MF radio antennas are huge.
So it doesn’t seem to be either of those. How is the data transmitted then? What kind of receiver for differential data is in the ZED-F9P? We also have EGNOS SBAS in Europe that sends some corrections from the geostationary satellites which the ZED-F9P can receive but I’m not sure if that counts as DGNSS (in the data sheet SBAS is a different heading before DGNSS).
Thanks to what infrastructure do we get that Differential GNSS fix half the time?