Android - SignalStrength Terminology Explanation
android, phone-state-listener, signal-strength, signals, telecommunication
Solution
Ok, Here we go.
- You got the part that GSM is different than CDMA correctly.
- Also The part that EVDO is the data transport protocols on CDMA while HSPA is the equivalent in GSM.
- The Modulation (data representation in the signal) is completely different between CDMA and GSM. That is why you can't use equivalent units (B.E.R) to calculate the quality of a signal sent by those different protocols.
Now for the measurement values we got:
DBM is a pure signal power measurement unit (in decibel) the more you get the higher reception you have. This covers (`getCdmaDbm()` and `getGsmSignalStrength()`)
Bit Error Rate: Is a simple quality measurement unit for GSM link, the lower it is the higher the quality of the received signal (independent of signal strength).
EC/IO Represents the ration of Power of signal received to the power of interference signal. the higher this value the higher the quality of the signal you are getting (Regardless of its strength) . in details
RSSI is a signal power measurement unit also.
Now the reason there is two APIS for RSSI and ECIO is that EVDO is carried on part of the CDMA signal so it makes sense that it may have different quality figures than the whole CDMA signal.
hope that helps
Problem
I am looking through the documentation on the SignalStrength class for an app I plan to make, but there is a lot of telecommunications terminology that I'm not very familiar with. I was wondering if anyone could briefly shed some light on some of the methods in this class, specifically these: ``` int getCdmaDbm() Get the CDMA RSSI value in dBm int getCdmaEcio() Get the CDMA Ec/Io value in dB*10 int getEvdoDbm() Get the EVDO RSSI value in dBm int getEvdoEcio() Get the EVDO Ec/Io value in dB*10 int getEvdoSnr() Get the signal to noise ratio. int getGsmBitErrorRate() Get the GSM bit error rate (0-7, 99) as defined in TS 27.007 8.5 int getGsmSignalStrength() Get the GSM Signal Strength, valid values are (0-31, 99) as defined in TS 27.007 8.5 ``` As I understand it, GSM and CDMA are two different protocols for mobile cellular networks, EVDO is the standard by which data is moved through CDMA, and HSPA is the equivalent data standard on GSM. Why then, are there no corresponding HSPA methods, as well as no getCDMASignalStrength() or getCDMABitErrorRate()? I'm also not too clear on what RSSI or Ec/Io are.