3

我对无线电/WiFi信号不太了解,所以我对WifiManager.ScanResult的 level 字段和wifi 扫描的RSSI之间的区别感到困惑?它们是完全不同的概念吗?两者似乎都没有在 Android Docs 中得到很好的解释。

如果这意味着什么,它们似乎都以 dBm 为单位。

编辑

更清楚地说,我说的是通过查找键 WifiManager.EXTRA_NEW_RSSI 返回的值。这在文档中进行了解释: WifiManager.EXTRA_NEW_RSSI: The lookup key for an int giving the new RSSI in dBm.

4

2 回答 2

1

在 802.11(wifi 标准)中,rssi 没有任何单位,因此很难用于比较目的。

Android 提供了一个函数 - WifiManager.calculateSignalLevel() - 我最初认为它是为了解决这个问题:将 RSSI 转换为可比较的客观度量。

但是,正如 OP 所提到的,文档确实指定 Android 提供的 RSSI 是 dBm。

所以,我猜 calculateSignalLevel 函数的目的,以及拥有“电平”概念以及 RSSI 的原因,只是将对数的 dBM 转换为线性刻度。

于 2013-02-06T23:09:02.177 回答
0

在我的理解中,它们是相同的。在 android 的 ScanResult.java 文件中,您可以看到 level: /** Detected signal level in dBm (也称为 RSSI) 在此无线电链上的定义。*/. 当然,它们都以 dBm 为单位。

于 2021-09-23T13:53:52.613 回答