来自rssi的AT + CSQ网络百分比公式

时间:2013-10-21 01:22:24

标签: math formula gsm at-command rssi

有没有人知道从rssi 计算GSM网络覆盖率(0 ... 100)的公式?对于8位AVR微控制器CPU应该是安全的,没有硬核数学运算,如log或除以不是2 ^ n的东西(首选bitshift)。使用32个可能的百分比值创建数组是不好的解决方案。

可能的rssi值(0..31是有效值):

0 -113 dBm or less
1 -111 dBm
2...30 -109... -53 dBm
31 -51 dBm or greater
99 not known or not detectable

我想要的近似值:

RSSI    %
0   0
1   3
2   6
3   10
4   13
5   16
6   19
7   23
8   26
9   29
10  32
11  36
12  39
13  42
14  45
15  48
16  52
17  55
18  58
19  61
20  65
21  68
22  71
23  74
24  78
25  81
26  84
27  87
28  90
29  94
30  97
31  100
99  ?

我没有想法,所以请告诉我!谢谢你的时间!

3 个答案:

答案 0 :(得分:2)

(rssi * 827 + 127)>> 8

乘以827,加上127以模拟舍入到最近,然后删除8个低位,全部为整数运算。

答案 1 :(得分:1)

遗憾的是,如果您希望它准确无误,这不是一项简单的任务。

本文最好地解释了任务的复杂性: https://www.adriangranados.com/blog/dbm-to-percent-conversion

答案 2 :(得分:0)

不涉及浮点数:RSSI * 3 + 3将错过高值和低值,但在中间范围内可以正常。如果高值的准确性更重要,则增加3以上,反之亦然。