我希望创建一个应用程序来获取有关手机与蜂窝网络连接的信息。
我的理解是,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] 部分(测量单位是什么以及单位范围是多少)
我知道这个话题到处都是。希望这有点道理,有人可以澄清一些事情。
干杯,伙计们!
最佳答案
简单来说,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 信号强度,有效值为 TS 27.007 8.5 中定义的 (0-31, 99)
GsmBitErrorRate - TS 27.007 8.5 中定义的 GSM 误码率(0-7、99)
CdmaDbm - CDMA RSSI 值(以 dBm 为单位)
CdmaEcio - CDMA Ec/Io 值(以 dB*10 为单位)
EvdoDbm - EVDO RSSI 值(以 dBm 为单位)
EvdoEcio - EVDO Ec/Io 值(以 dB*10 为单位)
EvdoSnr - 信噪比。有效值为 0-8。 8 是最高的。
我无法找到以下内容,但这是我怀疑的:
LteSignalStrength - ASU 中的 LTE 信号强度(0-31、99)
LteRsrp - LTE RSRP 值(以 dBm 为单位)
LteRssnr - LTE SINR 值(以 dB 为单位)
LteCqi - LTE CQI(无单位)
gsm|lte|cdma - 网络类型
关于android - GSM RSSI 和 LTE RSSI 和 RSRP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40754879/