你好,
我在做一个项目,其中da14585设备一直处于扫描模式。我们使用的是sdk6.0.4。该设备以每500ms的广告间隔捕获从2个设备发送的不可复制数据包,并且在tx功率下分别为0dBm和8dbm。在0米到14米的不同距离重复测试。在捕获包之后,使用链路中指定的公式将接收到的rssi值转换为相应的dBm值https://support.dialog-semiconductor.com/convert-rssi-dbm. 在分析结果时,观察到rssi的范围很大,即使在短距离内,所获得的dBm值也很低。例如,在0米的距离处,发现以0dBm功率发送的设备的rssi到dbm的转换值接近-70,而对于以8dBm功率发送BLE数据包的设备,发现转换值为-69。范围也不是数据表中指定的2db。如果新SDK版本的转换公式不同,请给出建议,并说明相同的原因。
谢谢和问候
维希利卡
设备:

你好,wisilica,
585上的转换公式和计算方式发生了变化,您得到的错误报告值是发布的SDK上的一个错误,为了获得正确的值,您必须替换rf\u rssi\u convert()函数,而不是让return rssi\u reg/2替换为return((rssi\u reg>>1U)-112U);一旦你得到,你应该能够得到正确的值没有额外的转换。
谢谢你的对话
你好,
按照建议的方法,在rf\u rssi\u convert()中,返回值已更改为return((rssi\u reg>>1)-112)。现在,在0米处,我们得到的值i param->报表.rssi范围从e6到e7。这是什么意思?是否需要其他转换?
谢谢
你好,wisilica,
不需要,不需要转换修改后返回的值是以dbm为单位的RSSI的实际值,如果将其作为有符号值读取,则0xE6代表-26dbm。
谢谢你的对话
你好,
根据你的建议,我们修改了代码,并重复了测试。PFA是我们得到的rssi与距离的关系图。相对于距离,rssi不会以线性方式减小。同时,在每种情况下,rssi的偏移量都在10-15dbm左右。请提出同样的理由。
谢谢
维希利卡
你好,wisilica,
RSSI是以dbm为单位测量的,dbm是对数单位,RSSI和距离之间的关系不是线性的,你不会看到RSSI随着距离的增加而减少,如果这是你期望观察到的。此外,为了正确地测试这一点,您必须进行屏蔽测量(对于换档)。
谢谢你的对话
你好,
随函附上对数分析。实际变化与对数表示仍有差异。
请查收。
谢谢
维希利卡
你好,wisilica,
有相当多的公式使用以estimate the distance based on the RSSI, which are out of the scope of this forum, i would suggest to check on the web in order to find more details about this, if that is what you are trying to do. Although you wont be able to get a precise reading and most of those formulas provide a rough estimation of the distance, also regarding the graph, the antenna and the system in general is not perfect, for example the power of the received signal will not be the same in all frequencies also the tests in order to be accurate need to be performed in a shielded enviroment, since the rssi values are highly affected by noise.
谢谢你的对话
你好,
我想知道在DA 14580(SDK 5.0.4)的情况下返回的rssi是正确的,即rssi\ U reg/2。这个bug只存在于585sdk6.0.4,对吗?
谢谢
维希利卡
你好,wisilica,
是的,rssi的计算在这两个SOC上是不同的,因为585携带不同的堆栈,如何在dbm中计算rssi在下面的链接中有记录,不,您不必在580 SDK上应用该补丁:
https://support.dialog semiconductor.com/guide/faq-da1458x-software-peri。。。(常见问题解答:如何读取RSSI值并将其转换为dBm)。
谢谢你的对话