低频信号与电容大小大小不知道

一直不知道这个像信号图标是什么?_polo吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:76,457贴子:
一直不知道这个像信号图标是什么?收藏
前卫设计理念,智能科技系统,融合精湛工艺,法式新典范DS7《中餐厅2》明星座驾!法国魅力车型DS7,给您带来全新奢华体验.更多金融优惠政策详情登陆DS7官网.
是不是喷水的大小开关?猜的
雨刮速度。。
后雨刷速度
自动雨刮感应速度调节器
登录百度帐号教你如何分辨你的手机信号强弱,,不用握就知道,技术贴!!
注册时间 最后登录
在线时间3170 小时 UID
主题帖子人气
红钻苹果, 积分 6971, 距离下一级还需 1029 积分
iPhone 4的信号问题,会因为手握或是保护壳而受到影响,其实我目前是没有太大的感觉,反正信号不良就换个姿势而已!!
我用的是联通3G,,不戴套是不敢打电话的。。。。。。。。
若是你想测试一下信号是否真的受影响,你可以输入【*#*】后拨出,画面的左上角会出现一个数值,数值越大代表信号越好!像我现在-102是处于很弱的状态!
IMG_0004.PNG (403 KB, 下载次数: 0)
00:39 上传
大家试试,你们的手机!我的是_102,信号很差的时候。。。。
IMG_0003.PNG (58 KB, 下载次数: 0)
00:39 上传
&&小弟当时发帖比较急,误导了大家,在这里跟大家说对不起!!请大家看以下&&这位& &255楼&&CAFES 大神 做出的详细解释,下面是复制他的文采。。。。。写的很详细,小弟学习了!!
[color=][color=]首先解释一下,通过工程模式调出来的这个信号强度,叫dBm,这是一个表示功率绝对值的值(简单的说,就是以1mW的功率为基准的一个比值),计算公式为:10 log(功率值/1mw),注意,它是相对于功率的一个考征值,相对而言,参考的考征基准不同,表示的意义就会有所变化,譬如dBi、dBd、dBc等等,这些各位有兴趣可以去问度娘~
[color=][color=]
[color=]按一向的规矩,我把结论放在前头:对手机这类低功率的无线电设备而言,dBm一定是负值显示的,所以,dBm的绝对值越大,表示其信号强度越低!
[color=]记住,这里说的是绝对值!不要把这句话省了,我们知道-100的最对值比-65的绝对值大,也就是-65地区的信号强度要更好一些,但如果不加上“绝对值”这句话,任谁都不会认为-65比-100小([strike]大[/strike])的!(这里特别感谢[color=][color=]指出字误,我审稿的时候居然没发现这么低级的字误,是我的失责,抱歉了)[color=]
[color=]好了,有兴趣深入浅出的了解一下的,可以继续阅读,下面我尽量忽略了部分艰深的术语,以尽可能通俗的方式去表达出来,因此可能会有部分地方不太完善,但道理应该各位可以明白的:
[color=][color=][img]https://bbs.feng.com/images/post/smile/default/[s=009].gif[/img]& && &
[color=]我们知道,无线设备的射频信号,是通过馈线和天线以电磁波的形式辐射出去的,无线设备会通过一定的功率发射电磁波,当电磁波到达某个接收地点后,再由天线接收下来,在这个过程中,负责接收的天线只会接收到很小的一部分功率,因此,我们需要一个方式去表达和计算无线电装置的发射功率与天线的辐射能力,以此来衡量无线电设备的性能状况。这就是产生了上述的一些考征值~
[color=]在这些考征值中,最常用的就是dB和dBm,我们刚才已经提到过,dBm是相对于1mW的功率为基准的一个比值,像我们的WIFI设备,其天线都是带有一定高功率的增益的,因此,我们看到,WIFI设备的dBm值一般都是正值,因为dBm以1mW的功率为基准,所以,只要增益的功率大于1mW,都可以看到的dBm以一个正值的方式出现!
[color=][img]https://bbs.feng.com/images/post/smile/default/[s=001].gif[/img]& && &&&那么大家肯定已经猜想到了,既然手机上的信号强度绝大多数都是负值,是否手机天线用于增益的功率很小呢?答案当然是肯定的,对于手机这种需要依赖电池维持工作状态的设备,不可能随时随刻在天线上加载很大的功率用来增益,一般而言,在接收状态下,手机天线接收信号的功率强度&0.0001W,dBm即会变为负值。
[color=]就负值而言,当然其数值越小,表示其信号强度越小,或者,更严格一点说,其绝对值越大,信号强度越小(嗯,这里负值大小比较,和负值的绝对值大小比较,应该不需要普及的了吧,呵呵),为了方便起见,我这里给出一个列表,是网上流传中国移动曾经的布网规范,当然,按网上资料的更新普遍会落后于实际工作的情况来看,我们可以认为现在这个标准已经发生了很大的变化,但依然值得参考:
[color=]1.&&&-60db& && && &&&基站附近(注意,这里没用绝对值表示,&-60db,即-59db及以上)
[color=]2.& & -60 ~ -65db&&信号很好
[color=]3.& & -66 ~ -70db&&信号可以
[color=]4.& & -71 ~ -75db&&马马虎虎
[color=]5.& & -76 ~ -85db&&勉强能用
[color=]6.& & -85 ~ -95 db 最低覆盖标准[color=]
[color=]据说,中国移动的布网规范要求,在接收状态下,城市取-90dB乡村取 -94dBm时,此处无线信号强度才满足覆盖要求,当然,这并不是说中国移动在全国范围内都符合这个规范,只是说,如果中国移动高层要求某个城市某几个点必须覆盖的时候,也就表示,这几个点最差的信号强度也至少应该大于-90dBm~
[color=]按上述指标的话,很明显,楼主-102dBm的信号强度已经处于一个差不忍睹的状态了~
[color=]也许有人说,不久只差12dBm嘛~~有多严重呢~[color=][img]https://bbs.feng.com/images/post/smile/default/[s=037].gif[/img]& && &
[color=]我这里必须强调一下dBm的比较关系,在进行对比时,我们需要用dB而不是dBm来比较(譬如上述中移动的规范也是用dB表示,具体关系这里不展开了,我们可以粗略的认为其数值上对等):业界一般认为,在小功率系统中,每1个dB都非常重要,因此流传有一则“3dB法则”,即每增加或降低3dB,就意味着功率增加或降低了一倍。[color=]
[color=]举一个例子,100mW的WIFI设备如果发射功率为20dBm,则50mW的WIFI设备发射功率将为17dBm,而200mW的设备发射功率为23dBm!
[color=]也就是说,楼主-102dBm和规范可接受的最低标准-94dBm之间,相差可谓甚远了~~
[color=][color=][img]https://bbs.feng.com/images/post/smile/default/[s=007].gif[/img]& && &
[color=][color=]P.S. 写完发表才发现自己有个很关键的Point没说:其实工程模式显示的dBm只能反映某设备在某地区的信号接收强度,这和设备的信号接收能力以及该地区信号发射强度(也就是覆盖强度)都是有着密切关系的,也就是说,这里dBm是-55也好,是-102也罢,只能反映iPhone在该地区该点上的信号强度,是完全无法反映联通是否给力的问题,更无法直接说明iPhone的信号接收能力好不好,只有在同一地点(譬如头顶上同时有联通和移动两台基站),同一设备,不同的运营商SIM卡,来比较dBm,才有可能得出那个运营商更给力这样的说法,类似的,只有同一地点,同一运营商的SIM卡,不同的设备,来比较dBm,才有可能得出那个设备接收能力更弱的结论~
[color=]况且,即便如此,还是只是粗略而且误差严重的生活结论而已,更严谨的结论,需要在实验室环境下才有可能得出,因此,楼主文里几个结论都不太负责任,甚至不能用“粗略”来形容,这才是我发此回复的最大原因,在此一提,以楼主对我扣费的解惑~~
<p id="rate_3843" onmouseover="showTip(this)" tip="&人气 + 1
" class="mtn mbn">
<p id="rate_9557" onmouseover="showTip(this)" tip="精品文章^_^&人气 + 3
" class="mtn mbn">
<p id="rate_208" onmouseover="showTip(this)" tip="妈呀,移动还出3g了。&人气 + 1
" class="mtn mbn">
<p id="rate_7622" onmouseover="showTip(this)" tip="&人气 + 1
" class="mtn mbn">
<p id="rate_216" onmouseover="showTip(this)" tip="-69~~~应该还不错吧&人气 + 3
" class="mtn mbn">
<p id="rate_3139" onmouseover="showTip(this)" tip="技术贴……&人气 + 1
" class="mtn mbn">
<p id="rate_181" onmouseover="showTip(this)" tip="请问数值出来后怎样把它恢复成信号格呢……???&人气 + 3
" class="mtn mbn">
<p id="rate_9471" onmouseover="showTip(this)" tip="不错啊!!!&人气 + 7
" class="mtn mbn">
<p id="rate_6937" onmouseover="showTip(this)" tip="-67 信号应该还不错吧....&人气 + 1
" class="mtn mbn">
<p id="rate_4752" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_6510" onmouseover="showTip(this)" tip="-64--77&人气 + 1
" class="mtn mbn">
<p id="rate_5526" onmouseover="showTip(this)" tip="温州移动-67&人气 + 1
" class="mtn mbn">
<p id="rate_248" onmouseover="showTip(this)" tip="不会算数的不会改标志的自以为聪明的都在扣分呢&人气 + 5
" class="mtn mbn">
<p id="rate_8887" onmouseover="showTip(this)" tip="-64~移动的~敢问LZ你咋知道这代码的?&人气 + 1
" class="mtn mbn">
<p id="rate_9282" onmouseover="showTip(this)" tip="珠海移动79&人气 + 1
" class="mtn mbn">
<p id="rate_30" onmouseover="showTip(this)" tip="中国移动,73&人气 + 1
" class="mtn mbn">
评分次数100
精品文章^_^
妈呀,移动还出3g了。
-69~~~应该还不错吧
技术贴……
请问数值出来后怎样把它恢复成信号格呢……???
不错啊!!!
-67 信号应该还不错吧....
威锋有你更精彩:)
温州移动-67
不会算数的不会改标志的自以为聪明的都在扣分呢
-64~移动的~敢问LZ你咋知道这代码的?
珠海移动79
中国移动,73
这个还真不知道。-65
数字越接近0信号越好。。。。。
河南移动-72,倒霉孩子
-93 联通啊 这不给力
扣分呢,是因为你第一张图上面的3G!明明是移动的,难道你的手机支持移动的TD网络
-100......
貌似没有正的啊 怎么全是负的呢
SBS已經有這個選項了...
威锋有你更精彩:)
收费么???
学习了,谢谢:)
威锋有你更精彩:)
学习了,谢谢
哈哈很多人小学数学学的东西已经给回去了,0比负数小。。。
移动..-61..找到同样数值的
其实楼主关于数值说得没错,反正我是看懂了
扣分的请看清楚:-60和-102哪个数大?!我认为LZ说法没错,该数字应越大越好
73……好坏?
北京郊区-59,另外扣分是因为你误导大家,数值是越接近0越好
感谢分享^_^
-71汕头 不知道怎么样
谢谢楼主分享,255楼的解释更清楚、准确
苏州移动-51
联通i4 -67&&&&移动3gs&nb
[img][/img]
注册时间 最后登录
在线时间3170 小时 UID
主题帖子人气
中国移动 是我自己改的。。。。。。。
[img][/img]
注册时间 最后登录
在线时间3170 小时 UID
主题帖子人气
好的帖子 ,没人理啊
[img][/img]
注册时间 最后登录
在线时间4483 小时 UID
主题帖子人气
注册时间 最后登录
在线时间2788 小时 UID
主题帖子人气
一入糗百深似海
貌似很早就知道了,帮你顶下。我-50
注册时间 最后登录
在线时间1425 小时 UID
主题帖子人气
数值在哪里?
注册时间 最后登录
在线时间367 小时 UID
主题帖子人气
技术贴,顶,我的-83
注册时间 最后登录
在线时间6 小时 UID
主题帖子人气
我的负80!是不是越小信号越烂?
注册时间 最后登录
在线时间3170 小时 UID
主题帖子人气
引用第7楼xx11-07-11 00:49发表的
我的负80!是不是越小信号越烂?
是啊,反而越大说明手机信号 接收越强!
[img][/img]
注册时间 最后登录
在线时间3170 小时 UID
主题帖子人气
引用第5楼罗小西同学于 00:44发表的
数值在哪里?
左上角。。。。。。。
[img][/img]
您需要登录后才可以回帖
回帖后跳转到最后一页
丨 粤ICP备号-10 丨 新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!
(C) Joyslink Inc. All rights reserved 保留所有权利Android系统移植与调试之-------)如何修改Android手机显示的4G信号强度的格子数
在修改显示的信号强度之前,先了解一下什么是dB,什么是dBm?
  dB是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时,
按下面的计算公式:10log(甲功率/乙功率),如果采用两者的电压比计算,要用20log(甲电压/乙电压)。)
  [例] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB。也就是说,甲的功率比乙的功率大3 dB。
  反之,如果甲的功率是乙的功率的一半,则甲的功率比乙的功率小3 dB。
  dBm是一个表示功率绝对值的值(也可以认为是以1mW功率为基准的一个比值),计算公式为:10log(功率值/1mw)。
  [例] 如果功率P为1mw,折算为dBm后为0dBm。
  [例] 对于40W的功率,按dBm单位进行折算后的值应为:
    10log(40W/1mw)=10log(40000)=10log4+10log10000=46dBm。
  总之,dB是两个量之间的比值,表示两个量间的相对大小,而dBm则是表示功率绝对大小的值。在dB,dBm计算中,要注意基本概念,
用一个dBm减另外一个dBm时,得到的结果是dB,如:30dBm - 0dBm = 30dB。
3.手机信号强度表示
  好了,那么手机上显示的数字的单位是那个呢,是dBm。当你仔细看的时候会发现这个值是负的,也就是说手机会显示比如 -67(dBm),那就说明信号很强了.
这里还说一个小知识:
  中国移动的规范规定,手机接收电平&=(城市取-90dB乡村取 -94dBm )时,则满足覆盖要求,也就是说此处无线信号强度满足覆盖要求。
  -67dBm 要比-90dBm 信号要强20多个dB ,那么它在打电话接通成功率和通话过程中的话音质量都会好的多(当然也包括EDGE/GPRS上网的速度那些 )
  所以,那个值越大信号就越好,因为那是个负值,而且在你手里的时候它永远是负值 ,如果你感
兴趣且附近有无线基站的天线的话,你也可以把你的手机尽量接近天线面板,那么值就越来越大,如果手机跟天线面板挨到一起,
那么它可能十分接近于0了(0是达不到的,这里的0的意思也不是说手机没信号了。)
  在信号强度计选择工程模式,显示了很多参数,你只要看BCCHLev(控制信道电平值)它就是手机的信号强度值,单位dBm,多大的信号你的手机可以正常接听呢,BCCHLev-C1,C1也有显示数值,如:BCCHLev(-63) ,C1(34),表示你的手机在信号大于-97dBm的状况下是不会掉话的。
  再来看手机发射功率要多大才合适呢,按GSM协议规定,手机发射功率是可以被基站控制的。基站通过下行SACCH信道,发出命令控制手机的发射功率级别,
每个功率级别差2dB;
  GSM900 手机最大发射功率级别是5(2W=2000mw,33dBm),最小发射功率级别是19(3mw,5dBm),
  DCS1800手机最大发射功率级别是0(1W,30dBm),最小发射功率级别是15(1mW,0dBm)。
  当手机远离基站,或者处于无线阴影区时,基站可以命令手机发出较大功率,直至33dBm(GSM900),
以克服远距离传输或建筑物遮挡所造成的信号损耗。
  强度计里的TXPower就是手机发射功率,你在拨打电话的状态下可以看出你的手机发射功率,也就是数值越大越省电,辐射越小,数值在5,
你的电话耗电大电池用不了一天,通话时别人经常听不到你的声音,你的手机经常会突然没信号,会掉话,这样你可以打投诉电话让运营商来做信号覆盖,
让你的手机信号好起来,减少辐射。
  以上那么多字,只有一个核心意思。不要被你手机信号还有多少格欺骗!!!那都是手机厂商自己定义的。咱要玩专业点的,直接看信号强度dBm。
android查信号强度在设置&关于手机&网络里。
  室内和室外的信号强度是有差距的。一般室外信号比室内好。
现在来看这个所谓的dBm,数值范围在-XX~0之间。这个数越大,信号强度越高。
-50dBm~0dBm范围内,恭喜你,你的信号已经好得很了。话说你就站在基站旁边是吧,哈
-90dBm~-60dBm,同样恭喜你,你基本不会面临打不了电话的问题。如果打不了的,找运营商吧,那是他们的问题。
G室内,DS放桌上信号强度-67dBm,23asu。作打电话状握手里,-75dBm,19asu。调整各种姿势,看到的最低是-83dBm,15asu。
这属于什么等级呢?简单说就是,信号很不错。室外没看,但肯定比这个高,
至于其他手机,可以自己上网去看,和DS的dBm值大多在一个档次。个别帖子炫耀自己大于-50dBm的,都是因为他就在基站边上。正常的范围是-90dBm~-60dBm。
====================================================================================
下面我们来看看手机没有修改时候的显示效果,关于手机--&状态信息--&SIM卡状态--&信号强度,就能看到手机的信号强度了。如下图所示:
1、当信号大于等于-85dBm时候,信号显示满格
2、当信号大于等于-95dBm时候,而小于-85dBm时,信号显示3格
3、当信号大于等于-105dBm时候,而小于-95dBm时,信号显示2格,不好捕捉到。
4、当信号大于等于-115dBm时候,而小于-105dBm时,信号显示1格,不好捕捉到。
5、当信号大于等于-140dBm时候,而小于-115dBm时,信号显示0格,不好捕捉到。
上面几个等级的相应划分的源代码在:rameworks/base/telephony/java/android/telephony/SignalStrength.java
中的getLteLevel()方法中,代码1如下:
* Get LTE as level 0..4
public int getLteLevel() {
* TS 36.214 Physical Layer Section 5.1.3 TS 36.331 RRC RSSI = received
* signal + noise RSRP = reference signal dBm RSRQ = quality of signal
* dB= Number of Resource blocksxRSRP/RSSI SNR = gain=signal/noise ratio
* = -10log P1/P2 dB
int rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
int rsrpIconLevel = -1;
int snrIconLevel = -1;
int rsrpThreshType = Resources.getSystem().getInteger(com.android.internal.R.integer.
config_LTE_RSRP_threshold_type);
int[] threshR
if (rsrpThreshType == RSRP_THRESH_TYPE_STRICT) {
threshRsrp = RSRP_THRESH_STRICT;
threshRsrp = RSRP_THRESH_LENIENT;
//[ALPS][ALPS]-START: change level mapping rule of signal for CMCC
if (!IS_BSP_PACKAGE) {
IServiceStateExt ssExt = getPlugInInstance();
if (ssExt != null) {
rsrpIconLevel = ssExt.mapLteSignalLevel(mLteRsrp, mLteRssnr, mLteSignalStrength);
//added by ouyang
android.util.Log.e(oyp, ssExt != null, rsrpIconLevel:+ rsrpIconLevel);
return rsrpIconL
log([getLteLevel] null plug-in instance);
//modifed by ouyang [] start
if (mLteRsrp & -44) {
rsrpIconLevel = -1;
} else if (mLteRsrp &= -85) {
rsrpIconLevel = SIGNAL_STRENGTH_GREAT;
} else if (mLteRsrp &= -95) {
rsrpIconLevel = SIGNAL_STRENGTH_GOOD;
} else if (mLteRsrp &= -105) {
rsrpIconLevel = SIGNAL_STRENGTH_MODERATE;
} else if (mLteRsrp &= -115) {
rsrpIconLevel = SIGNAL_STRENGTH_POOR;
} else if (mLteRsrp &= -140) {
rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
if (mLteRsrp & -44) {
rsrpIconLevel = -1;
} else if (mLteRsrp &= -97) {
rsrpIconLevel = SIGNAL_STRENGTH_GREAT;
} else if (mLteRsrp &= -105) {
rsrpIconLevel = SIGNAL_STRENGTH_GOOD;
} else if (mLteRsrp &= -110) {
rsrpIconLevel = SIGNAL_STRENGTH_MODERATE;
} else if (mLteRsrp &= -120) {
rsrpIconLevel = SIGNAL_STRENGTH_POOR;
} else if (mLteRsrp &= -140) {
rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
//modifed by ouyang [] end
//added by ouyang
android.util.Log.e(oyp, getLTELevel - rsrp: + mLteRsrp +
rsrpIconLevel:
+ rsrpIconLevel);
* Values are -200 dB to +300 (SNR*10dB) RS_SNR &= 13.0 dB =&4 bars 4.5
* dB &= RS_SNR & 13.0 dB =& 3 bars 1.0 dB &= RS_SNR & 4.5 dB =& 2 bars
* -3.0 dB &= RS_SNR & 1.0 dB 1 bar RS_SNR & -3.0 dB/No Service Antenna
* Icon Only
if (mLteRssnr & 300) {
snrIconLevel = -1;
} else if (mLteRssnr &= 130) {
snrIconLevel = SIGNAL_STRENGTH_GREAT;
} else if (mLteRssnr &= 45) {
snrIconLevel = SIGNAL_STRENGTH_GOOD;
} else if (mLteRssnr &= 10) {
snrIconLevel = SIGNAL_STRENGTH_MODERATE;
} else if (mLteRssnr &= -30) {
snrIconLevel = SIGNAL_STRENGTH_POOR;
} else if (mLteRssnr &= -200) {
snrIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
//added by ouyang
android.util.Log.e(oyp, getLTELevel - snr: + mLteRssnr +
snrIconLevel: + snrIconLevel);
if (DBG) log(getLTELevel - rsrp: + mLteRsrp +
snr: + mLteRssnr +
rsrpIconLevel:
+ rsrpIconLevel +
snrIconLevel: + snrIconLevel);
/* Choose a measurement type to use for notification */
if (snrIconLevel != -1 && rsrpIconLevel != -1) {
* The number of bars displayed shall be the smaller of the bars
* associated with LTE RSRP and the bars associated with the LTE
//added by ouyang
android.util.Log.e(oyp, snrIconLevel != -1 && rsrpIconLevel != -1,
+return rsrpIconLevel & snrIconLevel ? rsrpIconLevel : snrIconLevel
+(rsrpIconLevel & snrIconLevel));
return (rsrpIconLevel & snrIconLevel ? rsrpIconLevel : snrIconLevel);
if (snrIconLevel != -1) {
//added by ouyang
android.util.Log.e(oyp, snrIconLevel != -1);
return snrIconL
if (rsrpIconLevel != -1) {
//added by ouyang
android.util.Log.e(oyp, rsrpIconLevel != -1);
return rsrpIconL
/* Valid values are (0-63, 99) as defined in TS 36.331 */
if (mLteSignalStrength & 63) {
rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
} else if (mLteSignalStrength &= 12) {
rssiIconLevel = SIGNAL_STRENGTH_GREAT;
} else if (mLteSignalStrength &= 8) {
rssiIconLevel = SIGNAL_STRENGTH_GOOD;
} else if (mLteSignalStrength &= 5) {
rssiIconLevel = SIGNAL_STRENGTH_MODERATE;
} else if (mLteSignalStrength &= 0) {
rssiIconLevel = SIGNAL_STRENGTH_POOR;
//added by ouyang
android.util.Log.e(oyp, getLTELevel - rssi: + mLteSignalStrength +
rssiIconLevel:
+ rssiIconLevel);
if (DBG) {
log(getLTELevel - rssi: + mLteSignalStrength +
rssiIconLevel:
+ rssiIconLevel);
return rssiIconL
//[ALPS][ALPS]-END: change level mapping rule of signal for CMCC
可以看到未修改前,划分的几个等级是:
1.大于-85时候,等级为SIGNAL_STRENGTH_GREAT,即为4
2.大于-95时候,等级为SIGNAL_STRENGTH_GOOD,即为3
3.大于-105时候,等级为SIGNAL_STRENGTH_MODERATE,即为2
4.大于-115时候,等级为SIGNAL_STRENGTH_POOR,即为1
5.大于-140时候,等级为SIGNAL_STRENGTH_NONE_OR_UNKNOWN,即为0
6.大于-44时候,等级为-1
修改后,将上面的几个等级划分改为:
1.大于-97时候,等级为SIGNAL_STRENGTH_GREAT,即为4
2.大于-105时候,等级为SIGNAL_STRENGTH_GOOD,即为3
3.大于-110时候,等级为SIGNAL_STRENGTH_MODERATE,即为2
4.大于-120时候,等级为SIGNAL_STRENGTH_POOR,即为1
5.大于-140时候,等级为SIGNAL_STRENGTH_NONE_OR_UNKNOWN,即为0
6.大于-44时候,等级为-1
由于上面的,加入了MTK的修复patch,代码2如下:
//[ALPS][ALPS]-START: change level mapping rule of signal for CMCC
if (!IS_BSP_PACKAGE) {
IServiceStateExt ssExt = getPlugInInstance();
if (ssExt != null) {
rsrpIconLevel = ssExt.mapLteSignalLevel(mLteRsrp, mLteRssnr, mLteSignalStrength);
//added by ouyang
android.util.Log.e(oyp, ssExt != null, rsrpIconLevel:+ rsrpIconLevel);
return rsrpIconL
log([getLteLevel] null plug-in instance);
上面代码的意思是,先把这等级划分的值从加入的插件中去获取,如果获取不到再执行我上面修改的,所以要去修改
IServiceStateExt的mapLteSignalLevel(mLteRsrp, mLteRssnr, mLteSignalStrength)方法。当然如果没有这个插件的话,可以直接把我上面的这段代码2从代码1中注释即可。
由于IServiceStateExt是个接口,所以去修改它的具体实现类。通过查找源代码,找到了实现类DefaultServiceStateExt。
该类目录位于:vendor/mediatek/proprietary/frameworks/base/packages/FwkPlugin/src/com/mediatek/op/telephony/DefaultServiceStateExt.java
修改后代码如下:
//[ALPS][ALPS]-START: change level mapping rule of signal for CMCC
public int mapLteSignalLevel(int mLteRsrp, int mLteRssnr, int mLteSignalStrength) {
//added by ouyang
android.util.Log.e(mapLteSignalLevel, mapLteSignalLevel starting .......);
* TS 36.214 Physical Layer Section 5.1.3 TS 36.331 RRC RSSI = received
* signal + noise RSRP = reference signal dBm RSRQ = quality of signal
* dB= Number of Resource blocksxRSRP/RSSI SNR = gain=signal/noise ratio
* = -10log P1/P2 dB
int rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
int rsrpIconLevel = -1;
int snrIconLevel = -1;
//modifed by ouyang [] start
if (mLteRsrp & -44) {
rsrpIconLevel = -1;
} else if (mLteRsrp &= -85) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_GREAT;
} else if (mLteRsrp &= -95) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_GOOD;
} else if (mLteRsrp &= -105) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_MODERATE;
} else if (mLteRsrp &= -115) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_POOR;
} else if (mLteRsrp &= -140) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
if (mLteRsrp & -44) {
rsrpIconLevel = -1;
} else if (mLteRsrp &= -97) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_GREAT;
} else if (mLteRsrp &= -105) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_GOOD;
} else if (mLteRsrp &= -110) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_MODERATE;
} else if (mLteRsrp &= -120) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_POOR;
} else if (mLteRsrp &= -140) {
rsrpIconLevel = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
//added by ouyang
android.util.Log.e(mapLteSignalLevel, getLTELevel - rsrp: + mLteRsrp +
rsrpIconLevel:+ rsrpIconLevel);
//modifed by ouyang [] end
* Values are -200 dB to +300 (SNR*10dB) RS_SNR &= 13.0 dB =&4 bars 4.5
* dB &= RS_SNR & 13.0 dB =& 3 bars 1.0 dB &= RS_SNR & 4.5 dB =& 2 bars
* -3.0 dB &= RS_SNR & 1.0 dB 1 bar RS_SNR & -3.0 dB/No Service Antenna
* Icon Only
if (mLteRssnr & 300) {
snrIconLevel = -1;
} else if (mLteRssnr &= 130) {
snrIconLevel = SignalStrength.SIGNAL_STRENGTH_GREAT;
} else if (mLteRssnr &= 45) {
snrIconLevel = SignalStrength.SIGNAL_STRENGTH_GOOD;
} else if (mLteRssnr &= 10) {
snrIconLevel = SignalStrength.SIGNAL_STRENGTH_MODERATE;
} else if (mLteRssnr &= -30) {
snrIconLevel = SignalStrength.SIGNAL_STRENGTH_POOR;
} else if (mLteRssnr &= -200) {
snrIconLevel = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
//added by ouyang
android.util.Log.e(mapLteSignalLevel, getLTELevel - snr: + mLteRssnr +
snrIconLevel: + snrIconLevel);
Log.i(TAG, getLTELevel - rsrp: + mLteRsrp +
snr: + mLteRssnr +
rsrpIconLevel:
+ rsrpIconLevel +
snrIconLevel: + snrIconLevel);
/* Choose a measurement type to use for notification */
if (snrIconLevel != -1 && rsrpIconLevel != -1) {
* The number of bars displayed shall be the smaller of the bars
* associated with LTE RSRP and the bars associated with the LTE
//added by ouyang
android.util.Log.e(mapLteSignalLevel, snrIconLevel != -1 && rsrpIconLevel != -1,
+return rsrpIconLevel & snrIconLevel ? rsrpIconLevel : snrIconLevel
+(rsrpIconLevel & snrIconLevel));
return (rsrpIconLevel & snrIconLevel ? rsrpIconLevel : snrIconLevel);
if (snrIconLevel != -1) {
//added by ouyang
android.util.Log.e(mapLteSignalLevel, snrIconLevel != -1);
return snrIconL
if (rsrpIconLevel != -1) {
//added by ouyang
android.util.Log.e(mapLteSignalLevel, rsrpIconLevel != -1);
return rsrpIconL
/* Valid values are (0-63, 99) as defined in TS 36.331 */
if (mLteSignalStrength & 63) {
rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
} else if (mLteSignalStrength &= 12) {
rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_GREAT;
} else if (mLteSignalStrength &= 8) {
rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_GOOD;
} else if (mLteSignalStrength &= 5) {
rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_MODERATE;
} else if (mLteSignalStrength &= 0) {
rssiIconLevel = SignalStrength.SIGNAL_STRENGTH_POOR;
//added by ouyang
android.util.Log.e(mapLteSignalLevel, getLTELevel - rssi: + mLteSignalStrength +
rssiIconLevel:
+ rssiIconLevel);
Log.i(TAG, getLTELevel - rssi: + mLteSignalStrength +
rssiIconLevel:
+ rssiIconLevel);
return rssiIconL
//[ALPS][ALPS]-END: change level mapping rule of signal for CMCC
修改完代码后,make systemimage后烧录到MTK平台手机即可。
====================================================================================
修改后的效果图如下所示:
1、当信号大于等于-97dBm时候,信号显示满格,而修改之前需要大于-85dBm。
2、当信号大于等于-105dBm时候,而小于-97dBm时,信号显示少一个,而修改之前需要大于-95dBm。
3、当信号大于等于-110dBm时候,而小于-105dBm时,信号显示2格,不好捕捉到。
4、当信号大于等于-120dBm时候,而小于-110dBm时,信号显示1格,不好捕捉到。
5、当信号大于等于-140dBm时候,而小于-120dBm时,信号显示0格,不好捕捉到。
====================================================================================
当然,要修改电信、移动、联通的3G、2G信号也可以在这个类中去修改。
最后附上源代码
rameworksase elephonyjavaandroid elephonySignalStrength.java
====================================================================================
vendor/mediatek/proprietary/frameworks/base/packages/FwkPlugin/src/com/mediatek/op/telephony/DefaultServiceStateExt.java代码如下:

我要回帖

更多关于 低频信号与电容大小 的文章

 

随机推荐