Monitor signal quality in production nrf9160

Hello,

We need to monitor signal quality on production devices to know in detail the quality of service or if we need to change antennas in some areas.

For this i saw two options in samples:

a). AT%%CESQ=1

Either directly with at command and resume and pause like in the at_monitor sample, or with higher level API modem_info_rsrp_register(link_rsrp_signal_handler) that subscribes for signal changes.

b). AT%XMONITOR

I see an example in modem_shell sample. It gives more information on request, including reg status, band and others. Also we get snr

Question:

1. Are both methods just reading parameters already on the device or do they make calls to network/consume current?


2. If we go with (1) and the API modem_info_rsrp_register do we need to also pause it? Or it is ok to leave the callback running forever as it won't impact other systems (Sending/receiving/consuming current)?

Thank you

  • Hi

    1. Signal quality notification (%CESQ) is a Nordic-proprietary command that subscribes notifications of changes in the signal quality. So when this is set, changes in signal quality will notify the device.
    Modem parameters (%XMONITOR) is also Nordic-proprietary and reads a set of modem parameters, not just the signal quality. You can see more information, like syntax and important notes, on both of these in the nRF9160 AT commands documentation we have available here. 

    The simplest thing, but maybe not what you're looking for, would be to just check signal quality would be the +CESQ command, that just returns received signal quality parameters. This command issues a valid response only when the modem is activated. This has to be called every time you want the signal quality parameters

    2. modem_info_rsrp_register() seems to initialize a subscription as well, so in that case you shouldn't need to pause it if you want it to keep running and get RSRP values continuously you can leave it enabled.

    Best regards,
    Simon

  • Hi Simon

    Thanks for the details. Ok, we will keep the implementation with modem_info_rsrp_register since it doesn't affect other systems and it's ok to leave it running.

     

Related