我应该如何将 Wifi 信号强度从质量百分比(通常为 0% 到 100%)转换为 RSSI 值(通常为负 dBm 数(即 -96db
))?
最佳答案
Wifi 信号强度占 RSSI dBm 的百分比
Microsoft 在其 WLAN_ASSOCIATION_ATTRIBUTES 中定义了 Wifi 信号质量结构如下:
wlanSignalQuality:
A percentage value that represents the signal quality of the network. WLAN_SIGNAL_QUALITY is of type ULONG. This member contains a value between 0 and 100. A value of 0 implies an actual RSSI signal strength of -100 dbm. A value of 100 implies an actual RSSI signal strength of -50 dbm. You can calculate the RSSI signal strength value for wlanSignalQuality values between 1 and 99 using linear interpolation.
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;
注意:
仔细检查您用于计算的质量
的定义。另请检查 dB
(或 dBm
)的范围。限制可能会有所不同。
示例:
Medium quality: 50% -> -75dBm = (50 / 2) - 100 Low quality: -96dBm -> 8% = 2 * (-96 + 100)
关于wifi - 如何将 Wifi 信号强度从质量(百分比)转换为 RSSI(dBm)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15797920/