Multicell Geolocation via LTE

Hello,

I am attempting to implement cell tower triangulation using unwiredlabs.com's api.

I have single-cell geolocation working. I am having trouble getting multi-cell geolocation working.

I have two issues with my current implementation:

1) lte_lc_neighbor_cell_measurement() trtiggers an LTE_LC_EVT_NEIGHBOR_CELL_MEAS event, but that event does not always provide neighbor cells. In fact, it rarely does so. Is there a way to make the system return at least a few neighbor cells consistently other than when there is a bad signal?

2) The neighbor cell measurements event only provides the physical cell id and the signal strength. I want the LAC/TAC and normal cell id of the towers as well. Is there a way to get this information? 

I have examined half a dozen other related devzone threads (linked at the end), but they are all older than the latest modem firmware and the multicell location example so I was hoping that the situation has changed.

If the above two items are not possible, could I disconnect from my current cell tower and force a connection to a different tower? If so, how can I do this?

I am using the nrf9160dk rev 1.00 with modem firmware 1.3.0.

https://devzone.nordicsemi.com/f/nordic-q-a/73139/scanning-for-all-nearby-base-stations-with-nrf9160dk

https://devzone.nordicsemi.com/f/nordic-q-a/66777/can-i-scan-more-cells-than-one/274337#274337

https://devzone.nordicsemi.com/f/nordic-q-a/44093/nrf9160-dk-geolocation-through-lte/173492#173492

https://devzone.nordicsemi.com/f/nordic-q-a/74267/nrf91-geolocation-and-cell-triangulation/306129#306129

https://devzone.nordicsemi.com/f/nordic-q-a/53189/nrf9160-cell-tower-information-for-geolocation-with-lte-and-cell-tower-id-s-limited-nbrgrsrp/214805#214805

https://devzone.nordicsemi.com/f/nordic-q-a/42310/nrf9160-zephyr-ncs-zte-m-nb-iot-multiple-cell-tower-rssi

  • Hello Jeremy,

    1) lte_lc_neighbor_cell_measurement() trtiggers an LTE_LC_EVT_NEIGHBOR_CELL_MEAS event, but that event does not always provide neighbor cells. In fact, it rarely does so. Is there a way to make the system return at least a few neighbor cells consistently other than when there is a bad signal?

    How sure are you that there are multiple cells available at your location? It might be good to know that neighbour cell measurements during connection only are done in case the network has requested to do so. There might be some more useful information in the documentation of %NCELLMEAS

    However, if you suspect that something is wrong, please record a modem trace starting from boot and ending when the neighbour cell measurement has been completed.

    2) The neighbor cell measurements event only provides the physical cell id and the signal strength. I want the LAC/TAC and normal cell id of the towers as well. Is there a way to get this information? 

    I’m afraid this is not possible. Getting tracking areas of the neighbour cells or the “normal” cell ID would consume too much time and battery. 

    If the above two items are not possible, could I disconnect from my current cell tower and force a connection to a different tower? If so, how can I do this?

    There is no option forcing the modem to connect to some specific cell. It will be done upon request by the network only. The closest approach would be manual network selection and band lock, but I’m not sure if those would fulfil your purpose.

    Regards,

    Markus

  • How sure are you that there are multiple cells available at your location? It might be good to know that neighbour cell measurements during connection only are done in case the network has requested to do so. There might be some more useful information in the documentation of %NCELLMEAS

    Rarely, I will get neighboring cells information when triggering a LTE_LC_EVT_NEIGHBOR_CELL_MEAS event. But occasionally I will. I am in the middle of downtown Chicago. I am 100% confident in the presence of neighboring cells. And I do not believe there is an error at the moment.

    According to the information from the %NBRGRSRP documentation, neighbor cells are only measured when "the strength and quality of the current cell signal do not meet the network configured level".

    The %NCELLMEAS documentation implies similar with the following line: "Neighboring cell measurements are available during a data or signaling RRC connection only when the network has configured measurement rules for the device and the configured criteria is met."

    Do you know of configuration settings that I can use to make the neighbor cell measurements happen consistently?

    I’m afraid this is not possible. Getting tracking areas of the neighbour cells or the “normal” cell ID would consume too much time and battery. 

    Thank you for confirming.

    There is no option forcing the modem to connect to some specific cell. It will be done upon request by the network only. The closest approach would be manual network selection and band lock, but I’m not sure if those would fulfil your purpose.

    I agree that these would not help my current issue.

  • jdorn said:
    Do you know of configuration settings that I can use to make the neighbor cell measurements happen consistently?

    In connected mode, the network commands the neighbour cell measurements. Hence, the device does not have any influence on that. This restriction is valid during data or signalling RRC connection only.

    In RRC idle, the device can always do the measurements with %NCELLMEAS command even when the network has not commanded device to do so. This command should be used for location service purposes.

    %NBRGRSRP was implemented only for testing purposes and that will return only those measurement results that are available, as a result of normal modem functionality (controlled by network), which is why this command should not be used for this purpose. %NCELLMEAS was added as a new feature in mfw 1.3.0.

    A modem trace will help to analyse if neighbour cells are available at your location. If you would like, please feel free to record one and upload it to the case :-)

    Regards,

    Markus

  • Here are two traces. One shows what my device is doing when it detects a neighbor, the other when it detects no neighbors. These traces were taken within 5 minutes of each other, and the dev kit was not power cycled in between, only reset.

    I have included both the PCAP and raw trace files for you to look at.

    Side note: I am gathering these neighbor cell measurements in the same manner as the Multi-Cell Location Example.

    trace-2021-09-16T15-06-28.607Z-SOME-NEIGHBORS.pcapng

    trace-2021-09-16T15-06-28.607Z.bin

    trace-2021-09-16T15-08-50.791Z-NO-NIEGHBORS.pcapng

    trace-2021-09-16T15-08-50.791Z.bin

  • jdorn said:
    I have included both the PCAP and raw trace files for you to look at.

    Thanks a lot, Jeremy! We will analyse the traces and come back to you.

    Regards,

    Markus

Related