Optimizing LTE Connectivity on nRF9160 DK: Band Selection, Antenna Considerations, and Tower Switching

Hi,

I'm currently experimenting to find the best tower and band settings for transmitting and receiving data over LTE. (I'm not sure if there is an AT command that can help me do this without doing my acrobatics). I'm aware that as the distance from the tower increases, the RSSI tends to worsen, leading to poorer performance. However, I'm unclear on how band selection comes into play and its impact on overall performance. (If there is an online link that can help me, I would be very happy to see it). I do understand that the size of antenna limits the antenna's bandwidth and this may affect also affect performance, link. Does this mean that certain LTE antennas can only work properly on certain bands? With the band selection algorithm, the modem relies on historical data to select the previous band and tower that have proven to be successful for communication. Unless the link quality is really bad, it would not swich as long this "offset" time is over. Is this correct? This means there could be situations where swtiching the tower/band could lead to improvement on the communication quality. 

I wrote a little code that measures RSRQ, RSRP, and SNR. Here is the function that measures these parameters:

typedef struct quality_sign_info_t 
{

	// metadata
	bool execute_quality_sign_meas;
	int modem_state;


	// data 
	float 	rsrq; // reference signal received quality
	int32_t rsrp; // reference signal received power
	int32_t snr; // reference signal-to-noise ratio

quality_sign_info_t quality_sign_info;

void get_signal_quality_params(quality_sign_info_t *quality_sign_info_l){
	
	int32_t rsrq;

	int ret = nrf_modem_at_scanf("AT%XSNRSQ?","%%XSNRSQ: %i,%*i,%*i",&quality_sign_info_l->snr);
	if (ret!=1) {
		LOG_ERR("nrf_modem_at_scanf [XSNRSQ] error:%d", ret);
		return;
	}
	quality_sign_info_l->snr -= 24;

	
	ret = nrf_modem_at_scanf("AT+CESQ","+CESQ: %*i,%*i,%*i,%*i,%i,%i",
	&rsrq,
	&quality_sign_info_l->rsrp);

	if (ret!=2) {
		LOG_ERR("nrf_modem_at_scanf [AT+CESQ] error:%d", ret);
		return;
	}
	quality_sign_info_l->rsrq = (((float)rsrq)/2) -19.5;
	quality_sign_info_l->rsrp -= 140;

	LOG_INF("rsrp:%d dB, rsrq: %02.1f dB, snr: %d dB", 
		quality_sign_info_l->rsrp, 
		quality_sign_info_l->rsrq,
		quality_sign_info_l->snr
	);
}

Should I measure anything else to evaluate the antennas/link quality? While there's the %XRFTEST command available, I chose to only to focus on these three parameters as they are easier to configure. The %XRFTEST is considerably more detailed and needs more parameters. 

The program I have wrote starts with the initialization of the buttons, the activation of +CMEE and the call of nrf_modem_lib_init(). When switch 3 is slid, the modem establishes a connection with the tower and provides information such as the current Band in use, MCC, MNC, LAC, modem version, and SDK version. Once connected, pressing button 2 triggers the function get_signal_quality_params(), which prints the values of RSRQ, RSRP, and SNR. I decided to use this method because I enabled the AT host library, which gives me control over band selection and tower changes.However, it seems that this setup is not functioning as expected.

Here is the normal configuration without forceing anything:


Below I am trying to disable band 20 and see if it can connect to another band, but all I get is +CEREG:4 which means unknown.  According to the nrf9160 certification, bands 1, 3, 8 and 28 should be supported in the EU. If it's not working, what adjustments can I make to avoid this error? Why is this issue occurring? I am using the nrf9160 DK.

Additional link:

Link, (Set band lock before activating modem with +CFUN.)

According to this post, it is possible to switch to a different tower. I use the +COPS command, and the picture below shows how I done it. Is there any other way to choose the tower. I would like to specify the CID instead of mcc and mnc because I get many towers with the same mcc and mnc.

How does the modem decide which tower to take? Does it do the same as in the band selection algorithm

Thanks for the help and patience!!!

Parents Reply Children
  • Thank you for understanding.

    I will get back to you when I will have more information.

    Best regards,

    Michal

  • Sorry for the delay, I have asked the experts to help me with answering those questions.

    Best regards,

    Michal

  • Hello,

    I am coming back with some answers from the experts:

    I do understand that the size of antenna limits the antenna's bandwidth and this may affect also affect performance, link. Does this mean that certain LTE antennas can only work properly on certain bands?

    There’s various types of cellular antennas with different band support and other constraints / performance spec. Also how antennas behave in different kind of environments (in vicinity of metal or human tissue etc.) depends on antenna type and spec. and actual implementation of product.

    So, definitely yes; antenna is defined to support certain set of LTE bands and it should be considered in antenna selection.

    Recommended related reading can be found from Nordic webpage.

    According to this post, it is possible to switch to a different tower. I use the +COPS command, and the picture below shows how I done it. Is there any other way to choose the tower. I would like to specify the CID instead of mcc and mnc because I get many towers with the same mcc and mnc.

    +CEREG=4 is reported typically when there are no suitable cells available. Have other bands than B20 been deployed at the customer’s location? To be also noticed, that it depends on roaming agreements on which networks the device is allowed to Attach with the SIM card.

    There is no way to choose the tower. With +COPS you can force modem to select certain network, but that doesn’t affect to selected tracking area, cell ID, etc.

    About the cell selection (referred to as "band selection"). It is true that the modem stores a history of the cells and networks for being able to fast camp on a cell again later. And, of course, it is possible that the signal to a historical cell is not as good anymore than what it was earlier. Still, the modem will not try to camp on a cell that doesn't fulfill normal suitability criteria defined by 3GPP. If the mentioned criteria are fulfilled, the modem will camp on the cell but after that, the modem counts on the cell reselection criteria for which also the network has saying via the mentioned offsets. To be noted that the strongest cell may not always be the best from networks perspective; network deployment could be such that they want to steer devices in a certain direction.

    Best regards,

    Michal

Related