nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

Increase tx_power_level

Hello,

I am using nrf52832 and i am using a SW similar to the beacon.

I tried 2 configuration:

  • tx_power = 0 (0 dbm)
  • tx_power = 4 (4 dbm)

I tried to measure the power consumption and RSSI level in both configuration, but i didn't found any difference. the 4 dbm should actually use more power and improve the RSSI level but the output from both are very similar.

I am sure that the configuration was set correctly, but i don't know what possibly went wrong.

Could you please support me?

Looking forward to hearing from you soon.

Best regards.

Parents
  • Hello,

    Thank you very much for your answer.

    • 1st point: We are using:
    sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV, m_adv_handle, radio_strength);
    radio_strength = 0 or 4 depending on the test condition.
    we are storing radio_strength in the flash and we output the value on the serial to check the current value at the start time of the SW
    int extract_radio_strength(uint32_t flash_storage_value){
       int radio_strength;
       switch((flash_storage_value & 0xF00000)>>20){
         case 0:
           radio_strength = -40;
           return radio_strength;
         case 1:
           radio_strength = -20;
           return radio_strength;
         case 2:
           radio_strength = -16;
           return radio_strength;
         case 3:
           radio_strength = -12;
           return radio_strength;
         case 4:
           radio_strength = -8;
           return radio_strength;
         case 5:
           radio_strength = -4;
           return radio_strength;
         case 6:
           radio_strength = 0;
           return radio_strength;
         case 7:
           radio_strength = 3;
           return radio_strength;
         case 8:
           radio_strength = 4;
           return radio_strength;
         default:
           radio_strength = 0;
           return radio_strength;
       }
    }
    • 2nd point:

    Why we cannot see much difference when we look at the RSSI on a receiver side over the air? the main reason we increase the power of transmission is that we can send our packet to longer distance and check lower RSSI on the receiver side.

    Looking forward to your reply.

    Best regards.

  • Hi,

    The function call looks correct, but you should check the return code from sd_ble_gap_tx_power_set() to make sure it returns NRF_SUCCESS.

    The RSSI value of the receiver may be affected by distance between transmitter and receiver, noise/interference from the environment, etc. To see the actual transmitted power, you should do a conducted measurement using a spectrum analyzer or similar.

    Best regards,
    Jørgen

  • Hello,

    Thank you very much for your support.

    We verified and we are sure that the tx_power set is correctly called.

    We tried 2 nrf52832 at the same time connected to the same receiver and they are located near each other (same distance between transmitter and receiver) and far from other devices to eliminate the interference but we didn't notice an improvement.

    M question here: what's the importance of setting the tx_power to 4 instead of 0 when we cannot see a difference in the receiver side?

    Looking forward to hearing from you soon.

    Best regards.

Reply
  • Hello,

    Thank you very much for your support.

    We verified and we are sure that the tx_power set is correctly called.

    We tried 2 nrf52832 at the same time connected to the same receiver and they are located near each other (same distance between transmitter and receiver) and far from other devices to eliminate the interference but we didn't notice an improvement.

    M question here: what's the importance of setting the tx_power to 4 instead of 0 when we cannot see a difference in the receiver side?

    Looking forward to hearing from you soon.

    Best regards.

Children
Related