我正在尝试制作一个可以测量检测到的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。

10-08 06:58