How to Prove A-GPS is Working Correctly

Hi,

How can we prove that the A-GPS is working correctly? We have run an experiment where we have use a module with A-GPS and one without and they have very similar (and long) time till first fixes. We know SUPL runs and successfully inserts data into the GPS, but as we can't see any difference in the performance we aren't sure it is actually working.

Thanks for any suggestions.

Version: nRFConnect v1.8.0, SUPL v0.7.1, MFW1.3.1, and Thingy91 w/ v2 silicon nRF9160

Parents
  • Hi,

    Could you give more details on how you are performing these tests?

    Do you have any logs from the device, which could show what data it receives from the AGPS server?

    It might be that the AGPS server was not able to find the position of the device, and therefore only provided the satellite data. That should still improve the TTFF, but if the signal conditions were poor as well, so that it took a lot of time to find enough satellites, it is possible that you do not see any significant speedup with AGPS. Therefore, knowing the test conditions is important.

    Another possibility is that the devices had some data from a previous test, and therefore the AGPS data didn't provide a significant advantage.

    Best regards,

    Didrik

  • Hi Didrik,

    Sorry for the slow response. How would we know if the A-GPS server wasn't able to find the position of the device?

    I am still working on getting the other data as the codebase is in quite a state at the moment: I'm having issue with the build system successfully creating a project working on one machine but not with the same setup and code on two other machines. Once I have that issue fixed I'll be able to provide the device logs from A-GPS.

    Thanks,

    Sam

  • Hi Didrik

    The tests were run on the same Thingy91 which was rebooted and reflashed in between tests which hopefully should have erased any A-GPS data stored in flash. We waited for fix events rather than using NMEA strings.

    This test was performed inside adjacent to a window which has a clear view of the sky. In the same spot a cheap GPS modem (NEO-6M) can achieve a fix. It is entirely possible the GPS signal is marginal though.

    Here is the logs of the data we get from SUPL:

    [1646946562.521] A-GPS data request submitted to queue!!!
    CONFIG_SUPL_CLIENT_LIB: k_work_submit_to_queue = 1
    New A-GPS data requested, contacting SUPL server, flags 59
    LTE Event: 3
    RRC mode: Connected
    RSRP: -91
    MCC: 0, MNC: 0, RSRP: -91 dBm
    open_supl_socket: Connecting to 172.217.194.192 port 7276
    Starting SUPL session
    ULP encoding length: 34
    Bytes sent: 34
    Bytes received: 30, total 30
    ULP ossDecode success, choice 3
    SUPL server responded using version 2.0.4
    SUPL response received
    ULP encoding length: 53
    Bytes sent: 53
    [1646946563.520] GPS event blocked
    [1646946563.521] NRF_MODEM_GNSS_EVT_PVT: retval: 0 lat: 0.000000 long: 0.000000 sat: 0
    Tracking:  0 Using:  0 Unhealthy: 0, GNSS operation blocked by LTE
    Bytes received: 708, total 708
    ULP ossDecode more input 4
    Bytes received: 708, total 1416
    ULP ossDecode more input 4
    Bytes received: 708, total 2124
    ULP ossDecode more input 4
    Bytes received: 708, total 2832
    ULP ossDecode more input 4
    Bytes received: 172, total 3004
    ULP ossDecode success, choice 5
    Injected A-GPS data, type: 1, size: 16
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 2, size: 72
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    Injected A-GPS data, type: 3, size: 32
    No integrity data available
    Injected A-GPS data, type: 4, size: 8
    Injected A-GPS data, type: 6, size: 144
    Injected A-GPS data, type: 7, size: 16
    SUPL POS received
    [1646946564.521] NRF_MODEM_GNSS_EVT_PVT: retval: 0 lat: 0.000000 long: 0.000000 sat: 0
    Tracking:  0 Using:  0 Unhealthy: 0, GNSS operation blocked by LTE
    read again
    [1646946565.521] NRF_MODEM_GNSS_EVT_PVT: retval: 0 lat: 0.000000 long: 0.000000 sat: 0
    Tracking:  0 Using:  0 Unhealthy: 0, GNSS operation blocked by LTE
    Bytes received: 30, total 30
    ULP ossDecode success, choice 6
    SUPLEND:
    	Mask: 0
    	Status: 0
    SUPL END received
    SUPL session internal resources released
    SUPL session finished
    SUPL completed successfully

  • The log looks correct.

    Samuel Pell said:
    The tests were run on the same Thingy91 which was rebooted and reflashed in between tests which hopefully should have erased any A-GPS data stored in flash.

    The data is stored in the modem, and will not be erased by re-programming the application, nor the modem.

    However, you can instruct the modem to delete the data when you start the GPS search:

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrfxlib/nrf_modem/doc/gnss_interface.html#deleting-gnss-data-stored-in-nv-memory

    Or, if you are using the GPS driver: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrf/drivers/gps.html#c.gps_config.delete_agps_data

    Samuel Pell said:
    This test was performed inside adjacent to a window which has a clear view of the sky. In the same spot a cheap GPS modem (NEO-6M) can achieve a fix. It is entirely possible the GPS signal is marginal though.

    That modem seems to have better sensitivity than the nRF9160. In addition, the antenna on the Thingy:91 isn't the best (partly because it is also used for LTE). In addition, even a small change in location can have an effect on the signals seen by the GPS.

    So it isn't too unlikely that the signal is a bit too weak.

Reply Children
No Data
Related