2011-09-20 6 views
0

나는 내가이 개 값을 기준으로 와이파이 품질을 확인하는 방법을 궁금 해서요 :와이파이 품질

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

내 시스템에서이 값을 얻을 수 있지만, 내 사용자의 와이파이 품질의 아이콘을 표시 할 인터페이스, 그래서 어떤 종류의 수식을 사용하여 백분율로 그 값을 변환해야합니다.

답변

0

괜찮 았어. 지금은 알아 냈어. 같은 문제가있는 사람들을 위해, 내가하는 일이 여기있다.

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