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 ...
随机推荐
- python与MySQL数据库
python与MySQL数据库 慕课网连接 我使用的软件:python2.7 + MySQL+ Navicat for MySQL + Atom 注意:你的数据库表格类型的引擎为:InnoDB :字符 ...
- nyoj 题目49 开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天 ...
- Spring MVC表单标签
从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中. form标签 和使用任 ...
- VB.NET视频总结——基础篇
VB.NET视频是台湾讲师曹祖胜和林煌章共同带来的经典视频,视频中老师的台湾腔特别重,听起来有些别扭.而且对于计算机方面的术语翻译的与大陆有很大差异,所以刚开始看视频的时候总是进入不了状态,一头雾水的 ...
- 【HDU 1358 Period】
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 设置RobotFramework的ftplibrary中,将Upload_file操作的异常改为回显错误信息。
测试中需要通过FTP通道,将数据发送给服务器,而这个上传的数据要被阻断.在结合RobotFramework测试中,安装的ftplibrary,使用upload_file操作,如果上传动作失败,会抛出异 ...
- 《c程序设计语言》读书笔记-3.5-按要求进制位数字转字符串
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> # ...
- 3.1 Java以及Lucene的安装与配置
Lucene是Java开发的一套用于全文检索和搜索的开源程序库,它面向对象多层封装,提供了一个低耦合.与平台无关的.可进行二次开发的全文检索引擎架构,是这几年最受欢迎的信息检索程序库[1].对Luce ...
- CSU 2031
2031: Barareh on Fire Submit Page Summary Time Limit: 3 Sec Memory Limit: 512 Mb Submitt ...
- Linux下mknod详解
mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR] option 有用的就是 ...