3

有谁知道从 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  ?

我没有想法,所以请给我建议!谢谢你的时间!

4

3 回答 3

6

(rssi * 827 + 127) >> 8

乘以 827,加 127 模拟舍入到最接近,然后去掉 8 个低位,全部采用整数运算。

于 2016-03-24T14:57:17.967 回答
1

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

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

于 2018-02-12T06:57:32.300 回答
0

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

于 2014-03-10T09:48:27.823 回答