2011-09-20 27 views
0

我想知道我怎麼能確定基於2個值WiFi的質量:無線上網的質量

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

我從我的系統中的這些值,但要顯示在我的用戶有wifi品質圖標接口,所以我應該使用某種公式將這些值轉換爲百分比。

回答

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