2

我正在查看SignalStrength类的文档,以了解我打算制作的应用程序,但是我有许多电信术语我不是很熟悉。我想知道如果任何人都可以简单一些线索一些在这个类中的方法,特别是这些:Android - SignalStrength术语解释

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 

据我了解,GSM和CDMA是移动蜂窝网络中的两个不同的协议,EVDO是标准其中数据通过CDMA传输,而HSPA是GSM上的等效数据标准。那么为什么没有相应的HSPA方法,以及没有getCDMASignalStrength()或getCDMABitErrorRate()?我也不太清楚RSSI或Ec/Io是什么。

回答

7

好的,我们走吧。

  • 你得到了GSM与CDMA不同的部分。
  • 此外EVDO的部分是CDMA上的数据传输协议,而HSPA在GSM中是等效的。
  • 在CDMA和GSM之间,Modulation(信号中的数据表示)完全不同。这就是为什么您不能使用等效单位(B.E.R)来计算由这些不同协议发送的信号的质量。

现在对于我们得到的测量值:

DBM是一个纯粹的信号功率测量单元(分贝)越多,你获得更高的接收你。此盖(getCdmaDbm()getGsmSignalStrength()

误码率:是对GSM链路的简单质量测量单元,下它是接收信号的质量(独立的信号强度)就越高。

EC/IO表示接收信号功率与干扰信号功率的比值。该值越高,所获得信号的质量越高(不管其强度如何)。 in details

RSSI也是一个信号功率测量单位。

现在有两个API用于RSSI和ECIO的原因是EVDO是在CDMA信号的一部分上传输的,所以它可能具有与整个CDMA信号不同的质量数值。

希望帮助

+0

谢谢。尽管如此,我仍然对为什么没有HSPA功能感到困惑 - 这不就是AT&T用户需要准确测量他们的数据网络吗? – 2013-02-24 18:26:31

0

RSSI-接收信号强度指示。这是信号中的功率量。
ECIO-它是功率密度的另一个比率。

为什么CDMA没有信号强度 - 我的猜测是Dbm是一个足够好的衡量标准,但我不能发誓。

如果您需要使用信号强度,您将需要进行认真的研究。除非你所做的只是显示你有多少条信号。即使这不是微不足道的,多年来iphone都出错了。

+0

谢谢。尽管如此,我仍然对为什么没有HSPA功能感到困惑 - 这不就是AT&T用户需要准确测量他们的数据网络吗? – 2013-02-24 18:56:47

1

RSSI是在信道测量的原始动力。 Ec/Io是载波相对于干扰和噪声的能量,因此它是信号质量的量度。 dBm是相对于1毫瓦的RF功率单位,以dB(分贝)为单位。 EVDO SNR是信号噪声比,这是干扰情况下信号质量的另一种表示形式。