Bluetooth篇 开发实例之五 为什么无线信号(RSSI)是负值?
弄清信号强度的定义就行了:
Rss=10logP,
只需将接受到的信号功率P代入就是接收信号强度(灵敏度)。
[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。
[例2] 对于40W的功率,按dBm单位进行折算后的值应为:
10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。
答:首先我们需要知道的是无线信号dbm都是负数,最大是0。因此测量出来的dbm值肯定都是负数。因为dbm值只在一种情况下为0,那就是在理想状态下经过实验测量的结果,一般我们认为dbm为0是其最大值,意味着接收方把发射方发射的所有无线信号都接收到了,即无线路由器发射多少功率,接收的无线网卡就获得多少功率。当然这是在理想状态下测量的,在实际中即使将无线网卡挨着无线路由器的发射天线也不会达到dbm为0的效果。所以说测量出来的dbm值都是负数,不要盲目的认为负数就是信号不好。
dBm是一个考征功率绝对值的值,计算公式为:10lgP(功率值/1mw)。
[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。
[例2] 对于40W的功率,按dBm单位进行折算后的值应为:
10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。
dB是一个表征相对值的值,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面计算公式:10lg(甲功率/乙功率)
[例6] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB。也就是说,甲的功率比乙的功率大3 dB。
[例7] 7/8 英寸GSM900馈线的100米传输损耗约为3.9dB。
[例8] 如果甲的功率为46dBm,乙的功率为40dBm,则可以说,甲比乙大6 dB。
[例9] 如果甲天线为12dBd,乙天线为14dBd,可以说甲比乙小2 dB。
dbm是一个表示功率绝对值的单位,他的计算公式为10lg功率值/1mw。例如如果接收到的功率为1mw,按照dbm单位进行折算后的值应该为10lg 1mw/1mw=0dbm。当然在实际传输过程中接收方是很难达到接收功率1mw的。因此我们通过这个公式就可以从dbm值反向推出接收方接收到的功率值了。
既然前面提到了dbm值都是负数,所以很多人都认为dbm值越小越好。其实这个认知是错误的。正如前面所说dbm值最大是0,而且是理想状态。那么越接近理想状态下的dbm值,越说明无线路由器发射的功率都被无线网卡接收到了。因此dbm值应该越大越好,-50dbm说明接收到的无线信号要好于-70dbm。
又有很多朋友认为既然dbm值是0说明接收发送信号的效果最好,那么我们就应该让企业无线网络各个地方的dbm值尽可能的大。实际上这个观点也是错误的,虽然dbm值越大发送接收信号效果越好,但是与此同时也需要我们为企业内部无线网络安装足够多的无线信号中继设备,这比费用也是不小的。经过实验表明在XP系统无线信号扫描组件中显示为“非常好”状态时是可以满足网络传输要求的,速度和稳定性都没有任何问题,而这个“非常好”状态对应的dbm值为0到-50dbm。因此我们只需要保证企业内部无线网各个地方的dbm值不大于-50dbm即可,这样建立的无线网就是一个高速稳定的网络。我们对于无线网络投入的性价比才会最高。
众所周知无线路由器发射功率一般都是100mw,还有更高的。那么为什么我们接收到的功率却如此之小呢?是因为传输过程中受到干扰比较大呢?下面我们拿接收到的信号为-50dbm即0.01μW为例进行介绍,如果无线路由器发射功率为100mw,而接收到的仅仅为0.01μW,两者差别为10000000倍。
dB,dBi, dBd, dBc,dBm,dBw
1、dB
dB是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面计算公式:10log(甲功率/乙功率),如果采用两者的电压比计算,要用20log(甲电压/乙电压)。
[例] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB。也就是说,甲的功率比乙的功率大3 dB。反之,如果甲的功率是乙的功率的一半,则甲的功率比乙的功率小3 dB。
2、dBi 和dBd
dBi和dBd是表示天线功率增益的量,两者都是一个相对值,但参考基准不一样。dBi的参考基准为全方向性天线,dBd的参考基准为偶极子,所以两者略有不同。一般认为,表示同一个增益,用dBi表示出来比用dBd表示出来要大2.15。
[例] 对于一面增益为16dBd的天线,其增益折算成单位为dBi时,则为18.15dBi(一般忽略小数位,为18dBi)。
[例] 0dBd=2.15dBi。
3、dBc
dBc也是一个表示功率相对值的单位,与dB的计算方法完全一样。一般来说,dBc 是相对于载波(Carrier)功率而言,在许多情况下,用来度量与载波功率的相对值,如用来度量干扰(同频干扰、互调干扰、交调干扰、带外干扰等)以及耦合、杂散等的相对量值。 在采用dBc的地方,原则上也可以使用dB替代。
4、dBm
dBm是一个表示功率绝对值的值(也可以认为是以1mW功率为基准的一个比值),计算公式为:10log(功率值/1mw)。
[例] 如果功率P为1mw,折算为dBm后为0dBm。
[例] 对于40W的功率,按dBm单位进行折算后的值应为:
10log(40W/1mw)=10log(40000)=10log4+10log10000=46dBm。
5、dBw
与dBm一样,dBw是一个表示功率绝对值的单位(也可以认为是以1W功率为基准的一个比值),计算公式为:10log(功率值/1w)。dBw与dBm之间的换算关系为:0 dBw = 10log1 W = 10log1000 mw = 30 dBm。
[例] 如果功率P为1w,折算为dBw后为0dBw。
总之,dB,dBi, dBd, dBc是两个量之间的比值,表示两个量间的相对大小,而dBm、dBw则是表示功率绝对大小的值。在dB,dBm,dBw计算中,要注意基本概念,用一个dBm(或dBw)减另外一个dBm(dBw)时,得到的结果是dB,如:30dBm - 0dBm = 30dB。
一般来讲,在工程中,dBm(或dBw)和dBm(或dBw)之间只有加减,没有乘除。而用得最多的是减法:dBm 减 dBm 实际上是两个功率相除,信号功率和噪声功率相除就是信噪比(SNR)。dBm 加 dBm 实际上是两个功率相乘
为什么天线增益的单位有的时候用dBi表示,而有时又用dBd,二者有何 区别?
答:dBi和dBd都是天线增益的单位,我们习惯上以理想电源辐射器作为参照
来规定全向天线的增益;有以理想的半波对称振子作为参照来考量定向天线
的增益。dBi和dBd能够互相换算,G(dBd)=G(dBi)-2.15
Bluetooth篇 开发实例之五 为什么无线信号(RSSI)是负值?的更多相关文章
- Bluetooth篇 开发实例之九 和蓝牙模块通信
首先,我们要去连接蓝牙模块,那么,我们只要写客户端的程序就好了,蓝牙模块就相当于服务端. 连接就需要UUID. #蓝牙串口服务SerialPortServiceClass_UUID = ‘{00001 ...
- Bluetooth篇 开发实例之八 匹配
自己写的App匹配蓝牙设备,不需要通过系统设置去连接. 匹配和通信是两回事. 用过Android系统设置(Setting)的人都知道蓝牙搜索之后可以建立配对和解除配对,但是这两项功能的函数没有在SDK ...
- Bluetooth篇 开发实例之六 蓝牙RSSI计算距离
计算公式: d = 10^((abs(RSSI) - A) / (10 * n)) 其中: d - 计算所得距离 RSSI - 接收信号强度(负值) A - 发射端和接收端相隔1米时的信号强度 n - ...
- Bluetooth篇 开发实例之七 匹配&UUID
匹配和通信是两回事. 1.用过Android系统设置(Setting)的人都知道蓝牙搜索之后可以建立配对和解除配对,但是这两项功能的函数没有在SDK中给出.但是可以通过反射来获取. 知道这两个API的 ...
- Android Developer -- Bluetooth篇 开发实例之四 API详解
http://www.open-open.com/lib/view/open1390879771695.html 这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每 ...
- Bluetooth篇 开发实例之十 官网的Bluetooth Chat sample app.
运行的时候,会报错: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Action ...
- Android Developer -- Bluetooth篇 开发实例之三 管理连接
Managing a Connection When you have successfully connected two (or more) devices, each one will have ...
- Android Developer -- Bluetooth篇 开发实例之一 扫描设备
第一步:声明Bluetooth Permissions <!-- 设置蓝牙访问权限 --> <uses-permission android:name="android.p ...
- Bluetooth篇 开发实例之十一 官网的Bluetooth Chat sample的bug
当没有匹配的设备和没有找到可用设备的时候. // If there are paired devices, add each one to the ArrayAdapter if (pairedDev ...
随机推荐
- 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)
★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...
- 课时2:用python设计第一个游戏
目录: 一.第一个小游戏 二.缩进 三.BIF 四.课时02课后习题及答案 ********************* 一.第一个小游戏 ********************* # p2_1.py ...
- 爬虫:Scrapy14 - Telnet 终端(Telnet Console)
Scrapy 提供了内置的 Telnet 终端,以供检查,控制 Scrapy 运行的进程.Telnet 仅仅是一个运行在 Scrapy 进程中的普通 Python 终端.因此你可以在其中做任何是. T ...
- php + ajax实现 帖子点赞功能
知识: 一.首先页面需要加载jquery框架 二.ajax常用参数解释: ①.type:传输数据方式,get或者post ②.url:处理数据的PHP脚本 ③.data:传输的数据索引及值,值用js获 ...
- 【转】PHP的执行原理/执行流程
简介 先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接 ...
- 【bzoj4325】NOIP2015 斗地主(&“加强”版) 搜索
题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...
- 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣
对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kafka的 ...
- Google C++编程风格指南 - 中文版
Google C++编程风格指南 - 中文版 from http://code.google.com/p/google-styleguide/ 版本: 3.133原作者: Benjy Weinberg ...
- vue中动态循环model
vue动态循环model与angular有所不同,angular直接定义一个数组,然后传入循环列表的index即可. 而vue不仅需要定义一个数组,还需要通过接口读出循环的数组长度,然后在create ...
- em,rem
em rem 相对单位: 也可用于设置padding line-height等em相对当前容器的默认字体设置比如,所有浏览器默认字体都是16px,body{ font-size:62.5%}以后即1 ...