you786
you786

Reputation: 3550

Android, difference between level and RSSI of a wifi signal?

I don't really know much about radio/WiFi signals, so I'm confused on the difference between the level field of a WifiManager.ScanResult and the RSSI of a wifi scan? Are they completely different concepts? Both don't seem to be well explained in the Android Docs.

They both seem to be in dBm if that means anything.

EDIT

To be more clear, I'm talking about the value returned by looking up the key WifiManager.EXTRA_NEW_RSSI. This is explained in the doc: WifiManager.EXTRA_NEW_RSSI: The lookup key for an int giving the new RSSI in dBm.

Upvotes: 3

Views: 4362

Answers (2)

Amir
Amir

Reputation: 1

In my undrestanding they are the same. In ScanResult.java file in android you can see the defenition of level: /** Detected signal level in dBm (also known as the RSSI) on this radio chain. */. Of course they are both in dBm.

Upvotes: 0

Tom
Tom

Reputation: 17884

In 802.11 (the wifi standard), rssi doesn't have any units, so it is hard to use for comparison purposes.

Android provides a functions - WifiManager.calculateSignalLevel() - that I initially thought was meant to address this: converting RSSI to a comparable, objective measure.

However, as OP mentions, the docs do specify that the RSSI provided by Android is dBm.

So, I guess the purpose of the calculateSignalLevel function, and the reason for having the 'level' concept as well as RSSI, is just to convert from dBM, which is logarithmic, into a linear scale.

Upvotes: 1

Related Questions