Comment convertir le signal Wifi de la force de Qualité ( % ) pour le RSSI (dBm)?
Comment convertir le signal Wifi de la force d'une Qualité en pourcentage, généralement de 0% à 100% dans un RSSI valeur, généralement un négatif dBm nombre (c'est à dire -96db
)?
Vous devez vous connecter pour publier un commentaire.
Wifi de la Force du Signal en Pourcentage de RSSI dBm
Microsoft définit le signal Wifi de la qualité dans leur WLAN_ASSOCIATION_ATTRIBUTES structure comme suit:
wlanSignalQuality:
RSSI (ou "Radio (Reçu) Indicateur de puissance du Signal") sont en " dB " (décibel) ou similaire 'dBm' (dB par milliwatt) (Voir dB vs dBm) dans lequel la plus petite ampleur des nombres négatifs ont le plus de force de signal, ou de la qualité.
Par conséquent, la conversion entre
quality
(en pourcentage) etdBm
est comme suit:Pseudo-Code (avec exemple de serrage):
Note:
Vérifier la définition de
Quality
que vous utilisez pour vos calculs avec soin. Vérifiez également la gamme dedB
(oudBm
). Les limites peuvent varier.Exemples:
En JS, je préfère faire quelque chose comme:
Math.min(Math.max(2 * (x + 100), 0), 100)
Mon opinion personnelle est qu'il est plus élégante façon de l'écrire, au lieu d'utiliser
if
's.De l'expérience:
Windows ordinateurs portables peuvent fonctionner correctement sur -80dB cependant avec des vitesses plus lentes
Je suis ravie d'avoir trouvé ce post parce que je cherchais un moyen pour convertir les dbm de pourcentage. À l'aide de David du post, j'ai écrit un rapide script en python pour calculer le pourcentage de qualité.
Afin d'obtenir le plus de wifi de qualité à partir de là que mon ordinateur se trouve, j'ai déménagé/rotation de mon antenne jusqu'à ce que j'ai reçu la plus haute qualité possible. Pour voir en temps réel de la qualité, j'ai exécuté le script ci-dessus à l'aide de:
De RSSI vs RSS:
Je sais que cela peut être en retard mais cela peut aider quelqu'un dans le futur.
J'ai pris la valeur de dBm 30-90 pour les RSSI et corrélée à 100-0 %.
J'ai utilisé la base équation linéaire pour obtenir la réponse.
Nous savons que nos valeurs de x pour dBm 30 et 90.
Nous savons que nos valeurs de y pour % à 100 et 0.
Nous avons juste besoin de trouver la pente. Ainsi, nous pouvons faire c'linéaire.
Équation finale à mettre dans le code lorsque vous connaissez le RSSI de la valeur.
Note j'ai pris le RSSI de la valeur qui est normalement négative et multiplié par la valeur absolue d'obtenir des nombres positifs.
Cet article est une explication plus détaillée de mW, dBm et RSSI
http://madwifi-project.org/attachment/wiki/UserDocs/RSSI/Converting_Signal_Strength.pdf?format=raw
Selon elle, le RSSI n'ont pas d'unité. C'est une valeur définie dans la norme 802.11 et calculé par la carte d'interface réseau et envoyé à l'OS. La carte de nic vendeur doit fournir une table de mappage de dBm-RSSI valeurs.
Désolé pour le lien direct, mais je ne trouve pas la page d'origine pour le lien de fichier.
Mentionné pseudo-code ne fonctionnera pas toutes les plages, les plages de l'exemple (-80dBm à 0, et -40dBm à 100).
Générique simple logique à la carte toute la gamme de 0 à 100.
Exemple d'utilisation, pour le code ci-dessous ConvertRangeToPercentage(-80,-40,-50)
Ok.. je suis d'accord...mais pourquoi est alors:
ce n'est pas d'accord avec la formule
pourcentage=qualité/2 - 100.
Aussi, vous pouvez essayer l'inverse de ce Bash fonction qui convertit dBm en pourcentage:
Utilisation: