首先iPhone必须越狱,然后开启Cydia,在“搜寻里”搜寻并且安装file。开启ifile,找到文件localizable.strings,并且打开打开localizable.strings,找到“4G”=“LTE”,然后把=右边的LTE改为4G,保存后重启手机。就会发现屏幕左上角的「LTE」变成「4G」,当然也可以改任何讯号标示改成任意的字串。
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
您好,1) 不可以直接运行,它调用了一些C程序,这些需要首先编译一下,运行LTE_aux_mex_files.m2) 大的程序运行框架是这样的
LTE_sim_batch开头的.m是主程序
->LTE_load_parameters.m
->LTE_sim_main.m( 一般会调用LTE_sim_main_single.m)
->LTE_sim_main_single.m里会有主要的TX,RX程序
3) 产生随机数使用了新定义的自带函数(至少Matlab2011版本以上才能运行)
4) 你可查看自带的帮助说明文件LTElinkDoc.pdf
5) 有些LTElinkDoc.pdf也没提到。实际上该平台有些参数不能乱改,因为平台代码有着大量的"坑"(代码语法有Bug,运行会出错),参数设置不合适就会执行这些根本没调好的代码。很多程序实际上能运行的只是个"空壳"。很多僵尸代码还写在里面,也发布出来真无语了。
6)除了程序语法Bug和僵尸代码之外,该平台可运行的部分也有很多和协议严重不符的地方,根本是错的,只不过不影响程序运行罢了。
7)这个平台用的信道建模方法和接收方法都很差劲。有些参数当作已知的用,"作弊"了,实际上这些参数必须估计得到。因此这个平台得到的性能是不能作为参考的。
最近为了成功得到LTE的信号强度,尝试了很多种方法:(1)通过解析signalstrength字符串,但是不同手机设备获得的字符串排列顺序不同,代码如下:
private PhoneStateListener phoneStateListener = new PhoneStateListener()
{
public void onSignalStrengthsChanged(SignalStrength ss)
{
super.onSignalStrengthsChanged(ss)
signalinformation = ss.toString()
signalStrength = ss.getGsmSignalStrength()
String [] lte = signalinformation.split(" ")
mLteSignalStrength = lte[11]
}
}
(2)api>17时,使用cellInforLte,我获得的返回值一直是空的,代码如下:
public int getMobileDbm(Context context)
{
int dbm = -1
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)
List<CellInfo>cellInfoList
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
{
cellInfoList = tm.getAllCellInfo()
if (null != cellInfoList)
{
for (CellInfo cellInfo : cellInfoList)
{
if (cellInfo instanceof CellInfoGsm)
{
CellSignalStrengthGsm cellSignalStrengthGsm = ((CellInfoGsm)cellInfo).getCellSignalStrength()
dbm = cellSignalStrengthGsm.getDbm()
}
else if (cellInfo instanceof CellInfoCdma)
{
CellSignalStrengthCdma cellSignalStrengthCdma =
((CellInfoCdma)cellInfo).getCellSignalStrength()
dbm = cellSignalStrengthCdma.getDbm()
}
else if (cellInfo instanceof CellInfoWcdma)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
{
CellSignalStrengthWcdma cellSignalStrengthWcdma =
((CellInfoWcdma)cellInfo).getCellSignalStrength()
dbm = cellSignalStrengthWcdma.getDbm()
}
}
else if (cellInfo instanceof CellInfoLte)
{
CellSignalStrengthLte cellSignalStrengthLte = ((CellInfoLte)cellInfo).getCellSignalStrength()
dbm = cellSignalStrengthLte.getDbm()
}
}
}
}
return dbm
}
(3)第三种方法适用于大多数设备,直接上代码:
private class SignalStrengthListener extends PhoneStateListener
{
public void onSignalStrengthsChanged(SignalStrength signalStrength)
{
super.onSignalStrengthsChanged(signalStrength)
try {
lte_sinr = (Integer) signalStrength.getClass().getMethod("getLteSignalStrength").invoke(signalStrength)
lte_rsrp = (Integer) signalStrength.getClass().getMethod("getLteRsrp").invoke(signalStrength)
lte_rsrq = (Integer) signalStrength.getClass().getMethod("getLteRsrq").invoke(signalStrength)
lte_rssnr = (Integer) signalStrength.getClass().getMethod("getLteRssnr").invoke(signalStrength)
lte_cqi = (Integer) signalStrength.getClass().getMethod("getLteCqi").invoke(signalStrength)
} catch (Exception e) {
e.printStackTrace()
return
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)