Speed up 1PPS / provide a fix with fewer satellites

Hi Nordic team!

In our system, we’re using the GNSS functionality of the NRF91 to obtain the current time, which is crucial for synchronization across multiple stationary devices. We require timing synchronization within approximately 50 microseconds between the devices.

We're only doing the synchronization when an event happens, which can be once in a week for example. When it happens we need the synchronization to happen as soon as possible (within ~60s). We'd like to avoid depending on using A-GPS or P-GPS as the network connection could be unreliable in some cases.

We're already using the low accuracy mode so that 3 satellites are enough to produce a fix (we set the device altitude and position using nrf_modem_gnss_agnss_write) and set the system in stationary dynamics mode.

1. Do you have any other suggestions for the configuration that we could use to speed up getting the valid 1PPS pulse and make it more robust in the weaker signal strength situations (indoor near a window / on the balcony)?

2. Would it be feasible to add a "fully fixed position" mode support where the position of the device is known so that fewer satellite locks could provide the 1PPS pulse (lower accuracy would be acceptable)?

Any insights or suggestions you can provide would be greatly appreciated. Thank you!

Parents
  • Hello,

    1. Do you have any other suggestions for the configuration that we could use to speed up getting the valid 1PPS pulse and make it more robust in the weaker signal strength situations (indoor near a window / on the balcony)?

    You can try setting CONFIG_GNSS_SAMPLE_ASSISTANCE_REFERENCE_ALT to reference altitude. You should also take a look at the response in this ticket https://devzone.nordicsemi.com/f/nordic-q-a/96546/gps-takes-long-time-to-fix-satellites-pop-in-and-out-of-tracking?ReplyFilter=Answers&ReplySortBy=Answers&ReplySortOrder=Descending

    2. Would it be feasible to add a "fully fixed position" mode support where the position of the device is known so that fewer satellite locks could provide the 1PPS pulse (lower accuracy would be acceptable)?

    It could be feasible, but I'm not sure that will be prioritized by the modem team right now. It is something to consider in the future though.

  • Hi Hakon, thanks for the response!

    1. We already set the position and altitude using nrf_modem_gnss_agnss_write (where we set the position along with the altitude). That seems to work since 3 satellites are enough to get the position fix (in the combination with the low accuracy mode). 

    location.latitude          = latitude_m; /* Best estimate within maximum limit of 1800 km. */
    location.longitude         = longitude_m;/* Best estimate within maximum limit of 1800 km. */
    location.altitude          = altitude;   /* Actual altitude of the device in meters. */
    location.unc_semimajor     = 0;          /* Uncertainty, semi-major. Range 0...127 or 255. */
    location.unc_semiminor     = 255;        /* Uncertainty, semi-minor. Range 0...127 or 255. */
    location.orientation_major = 0;          /* Set to 0 if unc_semimajor and unc_semiminor are identical values. */
    location.unc_altitude      = 0;          /* Uncertainty, altitude. Range 0...127 or 255. */
    location.confidence        = 100;        /* Set to 100 for maximum confidence. */
    
    if(nrf_modem_gnss_agnss_write(&location, sizeof(location), NRF_MODEM_GNSS_AGNSS_LOCATION) != 0){
        LOG_ERR("Failed to set nrf_modem_gnss_agnss_write");
    }

    2. Is there a feature request interface where this could be added and voted on (perhaps others would benefit from the feature as well)?

  • If you can write here concretely what you want as a feature, I can submit a feature request internally.

Reply Children
Related