Качество Wi-Fi в процентах - PullRequest
0 голосов
/ 21 сентября 2011

Мне было интересно, как я могу определить качество Wi-Fi на основе 2 значений:

Signal strength measured in dBm: e.g.: -51 dBm
Signal To Noise Ratio e.g. 70/70

Я получаю эти значения из своей системы, но хочу показать значок качества Wi-Fi в моем пользовательском интерфейсе,поэтому я должен преобразовать эти значения в проценты по какой-то формуле.

1 Ответ

0 голосов
/ 21 сентября 2011

хорошо, так что я понял это пока. Для тех из вас, у кого такая же проблема, вот что я делаю.

guint32
nm_ap_utils_level_to_quality (gint val)
{
  if (val < 0) {
    /* Assume dBm already; rough conversion: best = -40, worst = -100 */
    val = abs (CLAMP (val, -100, -40) + 40); /* normalize to 0 */
    val = 100 - (int) ((100.0 * (double) val) / 60.0);
  } else if (val > 110 && val < 256) {
    /* assume old-style WEXT 8-bit unsigned signal level */
    val -= 256; /* subtract 256 to convert to dBm */
    val = abs (CLAMP (val, -100, -40) + 40); /* normalize to 0 */
    val = 100 - (int) ((100.0 * (double) val) / 60.0);
  } else {
    /* Assume signal is a "quality" percentage */
    val = CLAMP (val, 0, 100);
  }
  g_assert (val >= 0);
  return (guint32) val;
}
...