WiFi readings unstable in android

拟墨画扇 提交于 2019-12-11 11:53:55

问题


I am building an application that collects the RSSI levels of APs around me and do some calculations based on that.

The problem is that the readings are unstable even if the device is still. For example, signals from an access point fluctuates between -71, -68,-75 and so on....

Is there a way to stabilize the signals?


回答1:


In telecommunications, received signal strength indicator (RSSI) is a measurement of the power present in a received radio signal.

I think the best you can do is count them al together and devide them after a x amount of measssure time. (since you would never get an 100% accurate acces point because of al kinds of components).

source: http://en.wikipedia.org/wiki/Received_signal_strength_indication




回答2:


"The problem is that the readings are unstable even if the device is still. For example, signals from an access point fluctuates between -71, -68,-75 and so on...."

This is the nature of the wireless signal. Even if the device is still, the environment is "moving", so, the signal is suffering from small scale fading mostly due to the environment scatterers. So, it is normal to obtain these fluctuations in the device measurements.

The accurancy of each Android device Wi-Fi measurement is another story.

Moreover, keep in mind that the values returned are in dBm which means that is in mWatt but expressed in the log scale. So, as Thealon proposed the averaging, you have to be careful because you cannot devide dBm values.

one solution would be to convert the dBm values back to mWatt and then perform the averaging. like below

Convert dBm to mWatt: mWatt = 10^(dBm/10)



回答3:


When getting the RSSI, Google recommends to:

Use calculateSignalLevel(int, int) to convert this number into an absolute signal level which can be displayed to a user.

Official Docs



来源:https://stackoverflow.com/questions/23294860/wifi-readings-unstable-in-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!