细说BLUETOOTH 5 【4X 远距离】
蓝牙5重要的4X 远距离的原理。
我们先谈一谈无线电传输和距离相关的两大关键因数(因数不只两个,这个定性分析两个和我们息息相关的):
两大关键因数
一. 链结预算Link Budget
在部署无线电通信时,链路预算(Link Budget)就是指从发射机开始通过射频媒介直到接收机之间的所有增益和衰减的总和。链路预算计算的目的是确保最终的接收信号强度处于接收机的接收灵敏阈值之上。简单来说,链路预算越大,发送端和接收端的距离越远。
Link budget [dB]= TX Power [dBm]- Sensitivity level [dBm]
举例说明:
- 以TI CC2640R2F芯片为例,最大TX Power 5dbm, 最大接收灵敏度 -97dBm,根据上述公式,5 dBm - (-97 dBm) = 102 dB。
- 以Nordic Nrf52840芯片为例,最大TX Power 8dbm, 最大接收灵敏度 -96dBm,根据上述公式,8 dBm - (-96 dBm) = 104 dB。
结论:
链结预算值越大,传输距离越远。
二. 无线电传输损耗
1.自由空间损耗
顾名思义,即为无线信号在空气中传播的损耗,可以由以下公式得到
F为频率,单位为G hz,D为发射端与接收端距离,单位为千米。由该公式可知路损的相关因素分为以下两个:
1).发射天线与接收天线间的距离。
2).频率, 频率越高路损越大。
2.现实中无线电对地平面损失
自由空间损耗是理想状态下无线电的损耗,实现当中还有两个考虑的因数,第一,天线损耗;第二,地表对无线的吸收和反射。
在考虑天线损耗和地表对无线的吸收和反射,我们可以概括得出下列公式。
h1和h2为发射端和接收端对地距离,k为自由空间波数,r是发射端和接收端的天线。
绘制自由空间损耗和地平面损失和距离关系的图如下所示:
在外界条件一致的情况下可以简化得到下面非常有意义的公式:
该公式的结论如下:
无线电传输距离和发射端,接收端对地距离成正比,距离地面越高,传输越远。
讲完和距离相关的两大因数,回到正题:
蓝牙5特性二 【4X 远距离】
在4.2及以前的版本中蓝牙低功耗在信道传输中未使用纠错编码技术,标准规定的基准灵敏度为-70dBm(基本上每一家蓝牙芯片厂商都可以做到-90dBm)。 蓝牙5引入了卷积前向纠错编码(Convolutional Forward Error Correction Coding) 技术,提高了接收机的抗干扰能力,将接收机的参考灵敏度分别提高到-75dBm (S=2编码)和-82dBm (S=4编码), 同时提高了接收机的载干比(载干比:C/I=载波信号强度/干扰信号强度)性能。使得在保持TX相同功耗情况下,蓝牙的距离提升了4倍,下面来说说如何做到提高接收灵敏度,依靠的就是编码PHY。
BLE编码PHY
蓝牙5除硬件支持1M,2M PHY,还支持两种编码方式的PHY,这两种编码方式的PHY是基于1M PHY的基础,使用1M PHY的物理通道。新的编码分为两种,一种编码PHY为500kbps(S=2),另外一种编码PHY是125kbps(S=8)。
编码PHY的数据包类型和1M PHY/2M PHY 数据包类型略有不同,增加了CI(coding indicator)和TERM1和TERM2。CI和TERMx构成了FEC(Forward Error Correction)区块,利用FEC恢复在传输过程中的错误数据位,以提升接收灵敏度。
经过S=2或者S=8的编码,接收灵敏度可以提升4-6dBm,距离相应提升2-4被。但是进化出一种新的能力必然会牺牲自己一项能力,和1M PHY相比,传输的距离提升了,但传输相同数据包,编码PHY的功耗比1M PHY就要高出一节 (BLE 规定的包长一致,部分payload变为FEC data,实际有效的传输数据减少)。
数据流传递方式:
1M/2M PHY
在没有编码方式下,TX数据包数据bit流通过加密(可选项),CRC效验,白化之后发送出去;RX端接收到数据流解调后校验CRC,解密,得到原始数据包数据。
500kbps,125kbps 编码PHY
相对 1M/2M 未编码PHY的数据流,500k PHY, 125K phy多出两个部分:FEC(前向错误纠错) 编码和模式映射,大家肯定要问如何实现FEC,我们以编码PHY的流程来完整讲述一下数据流的编码和传输过程。
错误检验 — CRC效验错误
接收机首先会检测接收到的Access Adrees是否正确,如果Access Adrees错误,丢弃该数据包,检测完Access Adrees,接收机会去效验整个数据包,判断24位CRC是否完全吻合。
白化
数据白化的目的是在传输数据遇到连续000000,或者连续111111序列时,进行合理编码,减少传输长串重复序列数据。
编码 — 前向错误编码
前向错误编码算法使得接收机有能比恢复该数据包中的传输错误数据位,通过把原始数据进行编码得到新的数据流,即使新的数据流在传输过程中有个别位数据错误,FEC解码也能恢复原始数据,从而提高了传输的误码率。BT5.0使用的如下编码算法:
G0(a0)先进行传输,G1(a1)在G0传输完成之后传输。
模式映射 — Pattern Mapper
模式映射的目的是整理输出前向错误编码数据,输出的方式分为两种模式(P symbols),一种P=1(S=2),一种P=4(S=8),两种模式下把前向错误编码数据进行加工,然后输出。由下面的表格所示,当P=1时,输出的data和输入保持不变,1位输入,1为输出;当P=4时,编码为4位再输出,所以可以看到P=4(S=8)时,输出的data数据量会更多,更进一部压缩实际可以传输的有效payload数据。
得益于前向错误编码和模式映射,使得蓝牙数据在传输过程中,RX端对整个payload数据包解码纠错能力有不同提升(简单说即为提高RX端接收灵敏度),蓝牙5的传输距离才有显著的提升。125kbps使用S=8模式,传输距离相对传统BLE提升4倍,相应牺牲的数据传输率最多,500kbps使用S=2模式,传输距离相对传统BLE提升2倍。长距离模式可以有效可以支持到400-500米范围内BLE通讯,是不是很厉害呢~
以上就是为什么蓝牙5可以做远距离传输,远距离传输将会无人机,遥控×××,竞技手柄,工业自动化需要200-500范围内的数据传输提供强有力的技术支持,目前可以支持蓝牙5远距离的芯片有Nordic 52840,TI CC2640R2F, Silconlab EFR32 Blue Gecko,但是可惜的是目前没有一部手机支持远距离,what a pity...
转载于:https://blog.51cto.com/11134889/2153180
细说BLUETOOTH 5 【4X 远距离】相关推荐
- 2019亚洲蓝牙大会成果盘点
---------------------------------------------------------------------------------------------------- ...
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...
- BlueTooth: 蓝牙
蓝牙 蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术.能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换.利用"蓝牙"技术,能够有效地 ...
- 物联网常见通信协议RFID、NFC、Bluetooth、ZigBee
物联网常见通信协议RFID.NFC.Bluetooth.ZigBee等梳理 1 概述 在上一篇文章<物联网常见通信协议与通讯协议梳理[上]-通讯协议>中,对物联网常用通信协议和通讯协议作 ...
- Bluetooth 蓝牙介绍(二):低功耗蓝牙BLE协议栈
文章目录 Physical LAYER Link LAYER 角色 地址 物理信道 Air Interface Packet PDU Advertising physical channel PDU ...
- 物联网常见通信协议RFID、NFC、Bluetooth、ZigBee等梳理
1 概述 在上一篇文章<物联网常见通信协议与通讯协议梳理[上]-通讯协议>中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享:本文将对常用的通信协议进行剖析,重点面向市场 ...
- (转载)物联网常见通信协议RFID、NFC、Bluetooth、ZigBee等梳理
(转载来自:https://www.cnblogs.com/shaobojiao/p/7921643.html) 1 概述 在上一篇文章<物联网常见通信协议与通讯协议梳理[上]-通讯协议> ...
- 蓝牙技术|蓝牙远距离遥控,伦茨科技ST17H66可以帮到你
蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换.利用蓝牙技术,能够有效地简化移动通信终端设备之间的通信 ...
- Wi-Fi、Bluetooth、ZigBee和Sub-GHz四大无线技术,有什么优缺点?
据预测,到2020年将有大约500亿个采用无线通信方式的装置.据来自GSM联盟的数据,其中移动手持和个人计算机仅占1/4,其余的是采用非用户交互方式与其他机器通信的自主互连装置.当前我们的互联网正在快 ...
- 调试Bluetooth时的一些札记
LCL层是BT的链路控制功能的一部分,它从软件或被命令配置或控制的其他控制器上取命令,然后执行链路控制任务. 蓝牙技术的系统结构分为三大部分:底层硬件模块.中间协议层和高层应用.底层硬件部分包括无线跳 ...
最新文章
- C++中类和结构体的区别
- 普林斯顿大学计算机科学与技术专业硕士项目拒信
- C语言递归遍历一棵二叉树(附完整源码)
- 关于Tomcat如何处理Open Redirect的问题
- DDD理论学习系列(4)-- 领域模型
- Win7系统防火墙设置不了怎么办
- keil修改字体、文本颜色、背景颜色,global.prop使用
- F5-yumnfsftp
- Tensorflow:安装和配置
- c# midi播放器_C#中的MIDI文件切片器和MIDI库
- HCNA-IP地址规划练习
- 解析 XML格式数据
- 还在担心找不到驱动程序吗?driveridentifier三步帮你解决所有
- 在实时控制系统中使用传感器优化数据可靠性的3个技巧
- oracle修改redo路径,在线修改redo文件的路径
- 2021,自动驾驶的“五代十国”
- 【PHP兴趣部落-08】PHP中时区设置的三种方法(timezone)
- 单体架构和微服务架构
- 学习笔记---ih5_九宫格_拼图
- HMAC和密钥导出(HMAC and Key Derivation)
热门文章
- 持续集成环境(Hudson)搭建
- Eclipse中在refernced Libraries里面加jar包与在WEB-INF/lib下加jar包的区别
- 大师林语堂的英文学习要诀
- 数据库 聚合 、分组、筛选、排序、日期等函数的应用
- (绪论和参考文献)基于深度强化学习的复杂作业车间调度问题研究
- 【OpenCV学习笔记】【编程实例】三(将一个图像中的指定区域拷贝到另一个图像的指定区域
- 编程实现激光雷达点云数据提取道路特征
- pyecharts制作交互式数据展示地图
- phpstorm2017破解方法
- redhat linux查看进程cpu,Redhat Linux 查看cpu、memory 等命令