Number of satellites and signal after a long time without GPS fix

Hello, 

I have an application developed with the nRF9161 DK board, which essentially consists of a GPS tracker that acquires a position every x time and sends that same position to a server via an LTE network; if it fails to obtain a position, it sends an indication to the server saying that it was unable to obtain a location.

GNSS is configured as a single fix with a timeout of 65 seconds (https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/nrf_modem/doc/gnss_interface.html#single_fix). Whenever the system wakes up to acquire the location, the nrf_modem_gnss_start() function is used for start GNSS search and the nrf_modem_gnss_stop() function is used to stop the GNSS search. Whenever there is a GNSS search, the system is put into LTE_LC_FUNC_MODE_ACTIVATE_GNSS mode. In addition, GNSS is still configured with the NRF_MODEM_GNSS_USE_CASE_SCHED_DOWNLOAD_DISABLE flags and with NRF_MODEM_GNSS_USE_CASE_MULTIPLE_HOT_START using the nrf_modem_gnss_use_case_set() function. I also write the almanac files of the latest sdk version to memory using the AT%XFILEWRITE command and the file name.

When testing on the street in an open field, this application takes around 30~40 seconds to TTFF (time to first fix) and, if stay on the street, it takes around 2~5 seconds (250~400 dB/Hz) to get location. The problem arises when you have not been able to get a location for about 2 days, i.e. if board have been inside a building. In this case, the application is no longer able to recover the location even if it is placed outside in the open for several hours. When it was placed in the street, I checked the number of satellites it could pick up and the strength of the signal and often it couldn't find any satellites or if it did, it was only one or two with a signal of around 150 dB/Hz (could just be antenna noise). I reset the board and the modem (nrf_modem_shutdown), but the problem persisted, i.e. during the 65 second it did not obtain any satellite.

Setup:
Board: nRF9161 DK
Modem FW: 2.0.2
SDK version: 2.8.0
GNSS antenna: external

Is there something I'm doing wrong with the GNSS configuration? What could be the reason for this problem and how can I solve it ? Suggestions ?


Thanks,
GoncaloS

  • Hello GoncaloS,

    Do you have any logs of those issues by chance?

    Best reagrds,

    Michal

  • Hello,

    I only have logs with number and signal of satellites at each acquisition period (in my case, I used 6 minutes). In this example, it's possible to see the moment when GNSS is no longer able to fix the position after a long time without fix with some satellites.

    [17 days, 13:31:38] GNSS_SEARCH
    [17 days, 13:32:43] Satellites Power: 
    [17 days, 13:32:43] sv: 11, cn0: 229
    [17 days, 13:32:43] sv: 3, cn0: 228
    [17 days, 13:32:43] sv: 10, cn0: 229
    [17 days, 13:32:43] sv: 201, cn0: 226
    [17 days, 13:32:43] sv: 26, cn0: 244
    [17 days, 13:32:43] sv: 16, cn0: 244
    [17 days, 13:32:43] sv: 29, cn0: 240
    [17 days, 13:32:43] sv: 9, cn0: 231
    [17 days, 13:32:43] sv: 25, cn0: 230
    [17 days, 13:32:43] sv: 4, cn0: 330
    [17 days, 13:32:43] sv: 20, cn0: 224
    [17 days, 13:32:43] sv: 27, cn0: 230
    [17 days, 13:32:43] GNSS_SLEEP
    
    [17 days, 13:37:38] GNSS_SEARCH
    [17 days, 13:38:43] Satellites Power: 
    [17 days, 13:38:43] sv: 24, cn0: 200
    [17 days, 13:38:43] sv: 20, cn0: 120
    [17 days, 13:38:43] sv: 4, cn0: 120
    [17 days, 13:38:43] sv: 5, cn0: 120
    [17 days, 13:38:43] sv: 18, cn0: 120
    [17 days, 13:38:43] sv: 7, cn0: 120
    [17 days, 13:38:43] sv: 9, cn0: 120
    [17 days, 13:38:43] sv: 26, cn0: 120
    [17 days, 13:38:43] sv: 28, cn0: 120
    [17 days, 13:38:43] sv: 31, cn0: 120
    [17 days, 13:38:43] sv: 25, cn0: 120
    [17 days, 13:38:43] sv: 23, cn0: 120
    [17 days, 13:38:43] GNSS_SLEEP
    
    [17 days, 13:43:38] GNSS_SEARCH
    [17 days, 13:44:43] Satellites Power: 
    [17 days, 13:44:43] sv: 12, cn0: 224
    [17 days, 13:44:43] sv: 11, cn0: 229
    [17 days, 13:44:43] sv: 10, cn0: 228
    [17 days, 13:44:43] sv: 8, cn0: 235
    [17 days, 13:44:43] sv: 15, cn0: 231
    [17 days, 13:44:43] sv: 25, cn0: 226
    [17 days, 13:44:43] sv: 9, cn0: 413
    [17 days, 13:44:43] sv: 3, cn0: 230
    [17 days, 13:44:43] sv: 26, cn0: 232
    [17 days, 13:44:43] sv: 28, cn0: 240
    [17 days, 13:44:43] sv: 16, cn0: 228
    [17 days, 13:44:43] sv: 31, cn0: 228
    [17 days, 13:44:43] GNSS_SLEEP
    
    [17 days, 13:49:38] GNSS_SEARCH
    [17 days, 13:50:43] Satellites Power: 
    [17 days, 13:50:43] GNSS_SLEEP
    
    [17 days, 13:55:38] GNSS_SEARCH
    [17 days, 13:56:43] Satellites Power: 
    [17 days, 13:56:43] sv: 15, cn0: 0
    [17 days, 13:56:43] GNSS_SLEEP
    
    [17 days, 14:01:38] GNSS_SEARCH
    [17 days, 14:02:43] Satellites Power: 
    [17 days, 14:02:43] GNSS_SLEEP
    
    [17 days, 14:07:38] GNSS_SEARCH
    [17 days, 14:08:43] Satellites Power: 
    [17 days, 14:08:43] GNSS_SLEEP
    
    [17 days, 14:13:38] GNSS_SEARCH
    [17 days, 14:14:43] Satellites Power: 
    [17 days, 14:14:43] sv: 201, cn0: 0
    [17 days, 14:14:43] GNSS_SLEEP
    
    (Past some time)
    
    [17 days, 15:13:38] GNSS_SEARCH
    [17 days, 15:14:43] Satellites Power: 
    [17 days, 15:14:43] GNSS_SLEEP
    
    [17 days, 15:19:38] GNSS_SEARCH
    [17 days, 15:20:43] Satellites Power: 
    [17 days, 15:20:43] GNSS_SLEEP
    
    [17 days, 15:25:38] GNSS_SEARCH
    [17 days, 15:26:43] Satellites Power: 
    [17 days, 15:26:43] GNSS_SLEEP
    
    [17 days, 15:31:38] GNSS_SEARCH
    [17 days, 15:32:43] Satellites Power: 
    [17 days, 15:32:43] sv: 7, cn0: 0
    [17 days, 15:32:43] GNSS_SLEEP
    
    [17 days, 15:37:38] GNSS_SEARCH
    [17 days, 15:38:43] Satellites Power: 
    [17 days, 15:38:43] GNSS_SLEEP

    After reset device (the device was located in the open street):

    [0 days, 00:00:05] GNSS_SEARCH
    [0 days, 00:00:05] Enable GNSS Timer and timeout GNSS
    [0 days, 00:01:10] Satellites Power: 
    [0 days, 00:01:10] sv: 27, cn0: 0
    [0 days, 00:01:10] GNSS_SLEEP
    
    [0 days, 00:06:05] GNSS_SEARCH
    [0 days, 00:07:10] Satellites Power: 
    [0 days, 00:07:10] GNSS_SLEEP
    
    [0 days, 00:12:05] GNSS_SEARCH
    [0 days, 00:13:10] Satellites Power: 
    [0 days, 00:13:10] GNSS_SLEEP
    
    [0 days, 00:18:05] GNSS_SEARCH
    [0 days, 00:19:10] Satellites Power: 
    [0 days, 00:19:10] sv: 31, cn0: 180
    [0 days, 00:19:10] GNSS_SLEEP
    
    [0 days, 00:24:05] GNSS_SEARCH
    [0 days, 00:25:10] Satellites Power: 
    [0 days, 00:25:10] GNSS_SLEEP
    
    [0 days, 00:30:05] GNSS_SEARCH
    [0 days, 00:31:10] Satellites Power: 
    [0 days, 00:31:10] sv: 29, cn0: 230
    [0 days, 00:31:10] GNSS_SLEEP
    
    [0 days, 00:36:05] GNSS_SEARCH
    [0 days, 00:37:10] Satellites Power: 
    [0 days, 00:37:10] GNSS_SLEEP
    
    [0 days, 00:42:05] GNSS_SEARCH
    [0 days, 00:43:10] Satellites Power: 
    [0 days, 00:43:10] sv: 26, cn0: 220
    [0 days, 00:43:10] GNSS_SLEEP


    You can reproduce this problem by configuring the GNSS as a single fix with an acquisition period, and leaving the board in a build without a GPS fix for ~2 days. Then take the board for street and check the satellite number and signal.


    Thanks,
    GoncaloS

  • Thank you for the logs.

    I'm not sure if that will provide enough information, but I am looking into it and I will let you know when I'll have more information.

    We are unfortunately at the start of the Easter holiday here in Norway, so I may not be able to get back to you before next week.

    Best regards,

    Michal

  • Hello Michal

    Thank you for your reply. I look forward to it.

    Best regards,
    GoncaloS

Related