想通过代码确定Android上的语音通道是否正在经历噪音.
在http://developer.android.com/reference/android/telephony/SignalStrength.html有一个功能列表
我看到一个函数getGsmBitErrorRate(),当我切换到GSM时这将很有用.
我看到函数getEvdoSnr()但我认为这只适用于“数据通道”.
CDMA的唯一其他功能是getCdmaEci0().如何从Eci0()中获得SNR?
是否有其他方法可以得出这个值?
回顾:我正在寻找一种能够返回比特错误率或信噪比等功能的功能.我发现一个链接暗示ec / i0与SNR完全相同.
但其他页面表明ec / i0是可用信号量.
解决方法:
Ec指的是导频信号能量. Io指的是噪声能量.因此,Ec / Io是“导频噪声比”,而不是“信噪比”(即SNR).虽然严格来说,PNR与SNR不同,但实际上您应该能够使用PNR作为SNR的代理.导频的整个要点是向接收器提供有关信号的信息,并允许其估计信道效应.
这个网页看起来很有用 – Ec/Io.
编辑:我忘记了网络提供商设置的参数,它指定了与实际信号相比,飞行员的功率应该是多少.例如,它们可以是相同的功率,在这种情况下,Ec / Io将等于SNR,或者导频可以是信号功率的一半,在这种情况下,SNR总是比Ec / Io高3 dB. .导频信号比可以是许多不同值中的任何一个,并且如前所述,由网络设置.我不记得调用了什么参数.