蓝牙协议分析(12)_LQ和RSSI的原理及应用场景
在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI。它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作。但这两个数值的计算原理和使用场景又有很大的差别。
LQI (Link Quality Indication),是当前接收到的信号的质量的一种度量。所谓的接收到信号的质量,是接收器通过接收到的信号和理想信号之间的错误累积值估算的。例如,如果使用FSK或者GFSK调制方式,接收器可以将每个bit的频率和期望的频率比较,累积一定数量的symbols(例如64个),就得到了错误累积值。由此可知,由于LQI的测量和调制方式有关,因此它可以相对地给出当前的链路质量(质量越好,LQI的值越小,反之越大)。
RSSI(Received Signal Strength Indication),是信号强度的指示,而不关心信号的质量(quality)或者正确率(correctness)。LQI不关心实际的信号强度,但信号质量却和信号强度有关,因为越强的信号,越不容易受到干扰,在接收端的表现就是“正确率”较高、LQI较低、信号质量较好。
下面用一些典型的场景来说明LQI和RSSI的应用:
|
注:如果你熟悉Linux的Bluez,可以通过如下命令查看LQI和RSSI:
1: hcitool rssi <BT ADDR>
2: hcitool lq <BT ADDR>
参考文献:http://e2e.ti.com/support/low_power_rf/w/design_notes/calculation-and-usage-of-lqi-and-rssi.aspx
原创文章,转发处蜗窝科技,www.wowotech.net。
蓝牙协议分析(12)_LQ和RSSI的原理及应用场景的更多相关文章
- 蓝牙协议分析(5)_BLE广播通信相关的技术分析
1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过“玩转BLE(1)_Eddystone beacon” ...
- 蓝牙协议分析(3)_BLE协议栈介绍
1. 前言 通过“蓝牙协议分析(2)_协议架构”的介绍,大家对蓝牙协议栈应该有了简单的了解,但是,肯定还有“似懂非懂.欲说还休”的感觉.有这种感觉太正常了,毕竟蓝牙协议是一个历史悠久又比较庞大的协议, ...
- 蓝牙协议分析(7)_BLE连接有关的技术分析
转自:http://www.wowotech.net/bluetooth/ble_connection.html#comments 1. 前言 了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connec ...
- 蓝牙协议分析(11)_BLE安全机制之SM
1. 前言 注1:此SM是Security Manager的缩写,非彼SM,大家不要理解歪了! 书接上文,我们在“蓝牙协议分析(10)_BLE安全机制之LE Encryption”中介绍了BLE安全机 ...
- 蓝牙协议分析(10)_BLE安全机制之LE Encryption
1. 前言 前面文章介绍了两种BLE的安全机制:白名单[4]和LL privacy[3].说实话,在这危机四伏的年代,这两种“捂着脸讲话(其它人不知道是谁在讲话,因而不能插话.不能假传圣旨,但讲话的内 ...
- 蓝牙协议分析(9)_BLE安全机制之LL Privacy
1. 前言 在上一篇文章[1]中,我们介绍了BLE的白名单机制,这是一种通过地址进行简单的访问控制的安全机制.同时我们也提到了,这种安全机制只防君子,不防小人,试想这样一种场景: A设备表示只信任B. ...
- 蓝牙协议分析(8)_BLE安全机制之白名单
1. 前言 在万物联网的时代,安全问题将会受到非常严峻的挑战(相应地,也会获得最大的关注度),因为我们身边的每一个IOT设备,都是一个处于封印状态的天眼,随时都有被开启的危险.想想下面的场景吧: 凌晨 ...
- 蓝牙协议分析(4)_IPv6 Over BLE介绍
1. 前言 蓝牙是个奇葩的家伙:它总是以后来者的身份出现,很喜欢打仗,而且还不落下风(有点像某讯的风格).90年代末期和Wi-Fi的无线标准之争如此,当前和802.15.4系(ZigBee.RF4CE ...
- 蓝牙协议分析(6)_BLE地址类型
1. 前言 也许关注BLE的同学都注意到了,BLE设备有多种类型的设备地址,如Public Device Address.Random Device Address.Static Device Add ...
随机推荐
- xaf 如何添加logo信息
https://documentation.devexpress.com/eXpressAppFramework/113156/Task-Based-Help/Miscellaneous-UI-Cus ...
- 『Python进阶』专题汇总
基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_ ...
- [leecode]---11.container with most water
description: Input: [1,8,6,2,5,4,8,3,7]Output: 49 思路1: 从(1,a1)开始向后算面积,需要两层n循环,时间复杂度n2 思路2: 找出数组中最大的数 ...
- Python3 NameError: name 'open' is not defined处理办法
一.说明 之前默认以为python的open方法用存哪里都没什么区别的,然后昨天直接在"__del__()"中使用今天同事跑程序时反馈程序报错“Python3 NameError: ...
- sftp无法连接问题
sftp连接linux 出现错误,就是服务器没有开sftp服务 解决:在linux服务器上,确保sftp定义在sshd的配置文件(一般为/etc/ssh/sshd_config)中:Subsystem ...
- Angular2+实现右键菜单的重定义--contextmenu
在做需求时用到video这个html5的新增标签,然后公司要求把video的右键屏蔽了去,我在网上找了很久没找到完整的方法来实现这个功能,只能自己摸索着来. 不说废话,先上干货 0.0 video.c ...
- node.js http接口调试时请求串行特性分析
缘起: 产品业务上有个类数据库服务的请求时间比较长(类似mysql的sql查询),为了优化减少并发时的请求数,做了一个并发时共用请求的优化. 通过单元测试后,想通过手动模拟看下效果,发现优化一直不能生 ...
- spring boot 连接多个数据源
在springboot中有需要连接多个数据源的情况. 首先配置文件application.properties中添加两个数据源连接字符串 mybatis.type-aliases-package=co ...
- linux&Mysql
安装iptable yum install iptables-services --- 安装并解压相关文件到mysql /usr/local/mysql --- 配置 未完待续(由于阿里云已经安装好我 ...
- 【js高程学习笔记】关于变量值和函数参数
变量包含了两种不同类型的值: 基本类型 (Undefined.null.Boolean.Number.string都属于基本类型) 引用类型 (对象) 两种值在赋值上不同的是: 将一个引用类型的值(对 ...