蓝牙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...