Saltar al contenido

¿Cómo convertir la intensidad de la señal Wifi de calidad (porcentaje) a RSSI (dBm)?

Investigamos por el mundo online para así tenerte la respuesta para tu duda, si tienes alguna inquietud puedes dejarnos la inquietud y te respondemos con gusto, porque estamos para servirte.

Solución:

Porcentaje de intensidad de la señal Wifi a RSSI dBm

Microsoft define la calidad de la señal Wifi en su estructura WLAN_ASSOCIATION_ATTRIBUTES de la siguiente manera:

calidad de señal wlan:

Un valor porcentual que representa la calidad de la señal de la red. WLAN_SIGNAL_QUALITY es de tipo ULONG. Este miembro contiene un valor entre 0 y 100. Un valor de 0 implica una intensidad de señal RSSI real de -100 dbm. Un valor de 100 implica una intensidad de señal RSSI real de -50 dbm. Puede calcular el valor de intensidad de la señal RSSI para los valores de wlanSignalQuality entre 1 y 99 mediante interpolación lineal.

RSSI (o “Indicador de intensidad de la señal de radio (recibida)“) están en unidades de ‘dB’ (decibelios) o similares ‘dBm’ (dB por milivatio) (ver dB frente a dBm) en las que los números negativos de menor magnitud tienen la mayor intensidad o calidad de la señal.


Por lo tanto, la conversión entre quality (porcentaje) y dBm es como sigue:

    quality = 2 * (dBm + 100)  where dBm: [-100 to -50]

    dBm = (quality / 2) - 100  where quality: [0 to 100]

Pseudocódigo (con ejemplo de sujeción):

    // 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;

Nota:

Consulta la definición de Quality que está utilizando para sus cálculos cuidadosamente. Compruebe también la gama de dB (o dBm). Los límites pueden variar.

Ejemplos:

Medium quality:   50%      ->   -75dBm   = (50 / 2) - 100
Low quality:      -96dBm   ->   8%       = 2 * (-96 + 100)

En JS prefiero hacer algo como:

Math.min(Math.max(2 * (x + 100), 0), 100)

Mi opinión personal es que es una forma más elegante de escribirlo, en lugar de usar if‘s.

Por experiencia:

  1. Menos de -50 dB (-40, -30 y -20) = 100 % de la intensidad de la señal
  2. De -51 a -55dB= 90%
  3. De -56 a -62dB=80%
  4. De -63 a -65dB=75%

    Lo siguiente no es lo suficientemente bueno para los dispositivos Apple

  5. De -66 a 68dB=70%
  6. De -69 a 74dB= 60%
  7. De -75 a 79dB= 50%
  8. De -80 a -83dB=30%
    Las computadoras portátiles con Windows pueden funcionar bien en -80dB, sin embargo, con velocidades más lentas

valoraciones y reseñas

Nos encantaría que puedieras mostrar este ensayo si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *