我正在尝试制作一个可以测量检测到的Wifi信号强度的应用。
我正在使用此代码
for (int i=0; i<size; i++){
ScanResult scanresult = wifi.getScanResults().get(i);
int rssi = scanresult.level;
}
我想问的是,由于结果始终为负(-67,-88,-90等),所以值表示什么?是损耗,还是接收信号电平?
感谢您的回答
最佳答案
引用level
的文档:
检测到的信号电平,以dBm为单位。至少这些是TI驱动程序使用的单位。
引用an old alt.internet.wireless
post:
您看到负值的原因是您代表的是小
但正数,以对数标度。以对数表示的值
表示指数...例如,在对数10刻度下,
值-2代表-2幂的10,等于0.01。
同样,负dBm表示您要应用负值
功率计算中的指数; 0 dBm等于1 mW的功率,所以
-10 dBm等于0.1 mW,-20 dBm等于0.01 mW,依此类推。
描述一个
弱信号为-100 dBm,而不是0.0000000001 mW。