我希望创建一个应用程序,获取有关手机与蜂窝网络连接的信息。
我的理解是RSSI是用GSM测量蜂窝信号的一种方法,RSRP是衡量LTE的好方法。
为了保持一致,是否有可能获得LTE的RSSI指标?
我对用什么类来获取这些信息感到困惑。目前,我正在使用手机状态监听器,它给了我一个SignalStrength对象。使用这个对象,我可以调用两个字符串方法,当我拆分它时,它提供了以下信息。我对其中的一些含义感到有些困惑。
String ssignal = signalStrength.toString();
String[] parts = ssignal.split(" ");
The parts[] array will then contain these elements:
part[0] = "Signalstrength:" _ignore this, it's just the title_
parts[1] = GsmSignalStrength
parts[2] = GsmBitErrorRate
parts[3] = CdmaDbm
parts[4] = CdmaEcio
parts[5] = EvdoDbm
parts[6] = EvdoEcio
parts[7] = EvdoSnr
parts[8] = LteSignalStrength
parts[9] = LteRsrp
parts[10] = LteRsrq
parts[11] = LteRssnr
parts[12] = LteCqi
parts[13] = gsm|lte|cdma
parts[14] = _not really sure what this number is_
第8部分提供什么? RSSI?
另外,当您查看android设置中的信号强度时,它会为您提供GSM的RSSI。连接到LTE时,它是否为我们提供RSRP或RSSI?它似乎提供了RSRP。
我的理解是部分[1]在GSM上连接时提供RSSI。但是,我不确定,并且感兴趣,部分[2](对于什么单位时间测量的速率是多少),部分[8](它究竟测量的是什么?),部分[10]和部分[11] (测量的是什么单位,单位范围是多少)
我理解这个帖子到处都是。希望它有点意义,有人可以清理一些东西。
干杯!
答案 0 :(得分:2)
简而言之,RSSI和RSRP分别是GSM和LTE的信号电平测量。它们并不完全相同,因为GSM和LTE是非常不同的技术。但是,它们都表示相同类型的信息。 RSRP在GSM中没有任何意义,RSSI意味着在LTE中有所不同。
这个问题可能值得一读: How to get LTE signal strength in Android?
您正在寻找的大部分内容,我都可以在这里找到:https://developer.android.com/reference/packages.html
GsmSignalStrength - GSM信号强度,有效值为(0-31,99),如TS 27.007 8.5中所定义
GsmBitErrorRate - TS 27.007 8.5中定义的GSM误码率(0-7,99)
CdmaDbm - 以dBm为单位的CDMA RSSI值
CdmaEcio - 以dB * 10为单位的CDMA Ec / Io值
EvdoDbm - 以dBm为单位的EVDO RSSI值
EvdoEcio - EVDO Ec / Io值(dB * 10)
EvdoSnr - 信噪比。有效值为0-8。 8是最高的。
我无法找到以下内容,但我怀疑这是:
LteSignalStrength - ASU的LTE信号强度(0-31,99)
LteRsrp - LTE RSRP值,单位为dBm
LteRssnr - 以dB为单位的LTE SINR值
LteCqi - LTE CQI(无单位)
gsm | lte | cdma - 网络类型