如何将Wifi信号强度从质量(通常为0%到100%)转换为RSSI值(通常为dBm负数)(即-96db
)?
最佳答案
Wifi信号强度百分比达到RSSI dBm
Microsoft在其WLAN_ASSOCIATION_ATTRIBUTES结构中定义了Wifi信号质量,如下所示:
wlanSignalQuality :
RSSI(或“ radio (接收到的)信号强度指示器”)以“dB”(分贝)或类似的“dBm”(dB /毫瓦)(请参见dB vs. dBm)为单位,其中较小的负数具有最高的信号强度或质量。
因此,quality
(百分比)和dBm
之间的转换如下:
quality = 2 * (dBm + 100) where dBm: [-100 to -50]
dBm = (quality / 2) - 100 where quality: [0 to 100]
伪代码(带有示例夹紧):
// dBm to Quality:
if(dBm <= -100)
quality = 0;
else if(dBm >= -50)
quality = 100;
else
quality = 2 * (dBm + 100);
// Quality to dBm:
if(quality <= 0)
dBm = -100;
else if(quality >= 100)
dBm = -50;
else
dBm = (quality / 2) - 100;
注意:
仔细检查用于计算的
Quality
的定义。还要检查dB
(或dBm
)的范围。限制可能会有所不同。示例: