wpa_supplicant의 다양한 신호 레벨 출력을 이해하는 방법은 무엇입니까?

wpa_supplicant의 다양한 신호 레벨 출력을 이해하는 방법은 무엇입니까?

저는 Linux x64에서 USB Wi-Fi 어댑터(rtl8192cu)와 함께 wpa_supplicant 2.0을 사용하고 있습니다.

wpa_cli에서 스캔하면 아무것도 이동하지 않고 동일한 액세스 포인트에 대해도 크게 다른 숫자가 나타납니다(양수와 음수가 교대로 표시됨). 이 데이터를 GUI로 사용자에게 표시하려고 하므로 일관된 형식이 필요하며, 최종적으로 백분율로 변환할 수 있는 형식이 바람직합니다.

예를 들어 SSID "1"은 신호 레벨이 약 -40인 경우도 있고 숫자 10인 경우도 있습니다. 항상 일반 dBm(음수) 숫자를 출력하지만 모든 OS/앱이 이를 약간 다르게 처리하는 것 같기 때문에 이 경우 범위가 무엇인지 알 수 없습니다. 웹의 일부 문서에서는 -50부터 -100까지의 유효한 값을 제안하고, 일부는 완전히 다른 내용을 말하고, 일부는 자체 숫자를 구성합니다. 여기서는 어떤 표준도 따르지 않는 것 같습니다.

bssid / frequency / signal level / flags / ssid
XX:XX:XX:XX:XX:01       2437    -38     [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -38     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -39     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    -40     [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -39     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    -42     [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -41     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -41     [ESS]   \x00\x00\x00\x00\x00\x00\x00

이러한 신호 레벨을 사용자에게 표시할 수 있는 일관된 비율로 변환할 수 있는 방법이 있습니까?

또한 사용자가 다른 Wi-Fi 어댑터/드라이버를 사용하는 경우 신호 수준이 내가 걱정해야 할 다른 형식이 될까요?

답변1

나는 신호 레벨이 다음과 같다고 믿는다.데시벨(dBm).

발췌

데시벨(때때로데시벨 밀리와트)는 1밀리와트(mW)를 기준으로 데시벨(dB)로 측정된 전력비의 약어입니다. 매우 큰 값과 매우 작은 값을 짧은 형식으로 표현할 수 있기 때문에 라디오, 마이크로파 및 광섬유 네트워크에서 절대 전력의 편리한 측정으로 사용됩니다. dBW를 1와트(1000mW)와 비교하세요.

와트(Watt)를 기준으로 하기 때문에 절대적인 단위이며, 절대전력을 측정할 때 사용됩니다. 이에 비해 데시벨()는 신호 대 잡음비와 같은 두 값 사이의 비율을 정량화하는 데 사용되는 무차원 단위입니다.

신호의 절대 전력은 와트로 측정됩니다. 데시벨() 상대적이므로 현재와 마지막 판독값의 차이만 알려줄 수 있습니다. 또한 로그 척도임을 참고하세요. 이것존재하다데시벨우리의 규모는 1밀리와트의 전력에 상대적이라고 말해주세요. 0dBm = 1밀리와트.

발췌

음수 값이 표시되는 이유는 작은 양수를 로그 눈금으로 표현하기 때문입니다. 로그에서 표시된 값은 지수를 나타냅니다. 예를 들어, 로그 10 척도에서 -2 값은 10을 -2승으로 제곱한 0.01을 나타냅니다. 마찬가지로, 음수 dBm은 전력 계산에 음수 지수를 적용한다는 의미입니다. 0dBm은 전력 1mW와 같으므로 -10dBm은 0.1mW, -20dBm은 0.01mW와 같습니다. 일부 계산에서는 약한 신호를 0.0000000001mW보다 -100dBm으로 설명하는 것이 더 쉽고 유용합니다.

원천:http://www.tomshardware.com/forum/9782-43-read-signal-strength#8171161

신호 레벨을 표시하는 방법은 단지 숫자 선일 뿐이며 0-100 범위로 정규화된 값을 표시하는 경향이 있습니다. 값은 로그이기 때문에 다음과 같습니다.

-99 -98 -97 ... -2 -1 0 +1 +2 +3 ...

Just like anything else involving such a scale, -1 is greater (louder) than -99.

원천:http://www.tomshardware.com/forum/9782-43-read-signal-strength#8241725

편집 #1

OP에 대한 후속 질문입니다.

1 - 음수의 척도는 모르지만 -100에서 0이 아닌 것은 확실하며 내가 읽은 모든 사이트에서는 척도가 다르다고 합니다(예: -50에서 -100, -30에서 -80 등). 이 경우 올바른 비율과 드라이버 간에 변경되는 경우를 알아야 합니다.

음수는 로그 스케일입니다. 그들은 단위가 없습니다. 숫자는 -100-0으로 제한되지 않으며 음수부터 양수까지입니다. 로그 눈금을 사용하는 이유는 숫자를 줄여서 순간순간 크게 변하지 않도록 하기 위해서입니다. 그것이 나타내는 숫자는 크게 변동될 수 있으며, 그들이 가질 수 있는 값은 크기에 따라 다르기 때문에 로그가 사용됩니다.

dBm을 사용한다는 것은 이 값이 1밀리와트를 기준으로 한다는 의미입니다. 이것은 눈금의 0 값입니다

2 - 숫자가 때때로 양수인 이유를 알아야 합니다(지금까지 +10만 보았습니다)... dBm으로 측정하면 양수는 이해가 되지 않기 때문입니다(이것이 실제로는 실수).

이것은 확실히 실수가 아닙니다. 로그로 인해 이러한 값은 음수에서 양수까지 다양합니다. 이는 숫자 "1/10"을 "1*10^-1" 유형으로 나타내는 것과 같습니다. 두 번째 형식의 "-1"을 확인하세요.

이러한 값이 어떻게 나타나는지 안내하는 계산 수행 방법을 이해하는 데 도움이 되는 다음 리소스를 참조하세요.

관련 정보