This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

minimum threshold for RSSI?

Hello,

I am using S110 8.0 stack and 9.0 SDK and I am testing the signal strength. Now I am able to get the BLE_GAP_EVT_RSSI_CHANGED event after I started performing rssi start method using err_code = sd_ble_gap_rssi_start(m_conn_handle, 1, 1);.

But I could not find the documentation to set threshold and skip count. Can anyone tell me how the rssi changes if I keep the skip count very less and what should be the minimum and maximum value to be set for threshold and skip count?

Regards,
Sowmya

  • If skip_count is set to 0 and:

    threshold_dbm is set to 0 you will get the BLE_GAP_EVT_RSSI_CHANGED after every sample

    threshold_dbm is set to to 1 you will get the BLE_GAP_EVT_RSSI_CHANGED event after the sample if the change is +-1 dB or more compared to the sample in the previous BLE_GAP_EVT_RSSI_CHANGED event.

    If skip_count is set to 1 and:

    threshold_dbm is set to 0 you will get the BLE_GAP_EVT_RSSI_CHANGED after every second sample.

    threshold_dbm is set to to 1 you will get the BLE_GAP_EVT_RSSI_CHANGED event if the change is +-1 dB or more on two consecutive samples compared to the sample in the previous BLE_GAP_EVT_RSSI_CHANGED event.

  • Thank you Petter for the information. Is there any document for rssi value received wrt dB level. Suppose, if I am getting rssi value 74, what is the db level?

  • It is a two's complement representation. 0x74 would be 116 dBm, but you will never get this. The RSSI will aways be negative, so you can take the decimal value and subtract 256. If you get for example 0xBD, it equals 189 decimal, so the RSSI is 189-256 = -67 dBm. Binary 0xBD would be 0b10111101. The MSB tells you it is a negative number, so you flip the bits and add 1 to get negative binary value, flip-> 0b01000010, add 1-> 0b01000011 = 67.

Related