基础知识
无线频率信息
蓝牙低功耗 5.1(以下简称BLE 5.1)是2019年由蓝牙技术协会SIG发布,工作在ISM频段:2.4GHz~2.48Ghz,有40(编号0~39)个可用信道,其中37、38、39为广播信道,其余信道为数据信道,信道带宽为2MHz。蓝牙信号在传输时采用跳频技术来抗干扰,当一个蓝牙数据包在信道 f c u r f_{cur} fcur传输完毕后,会在距离 f c u r f_{cur} fcur信道 f h o p f_{hop} fhop距离的 f n e x t f_{next} fnext信道传输下一个数据包,因为数据传输信道只有37个,所以存在以下关系:
f n e x t = ( f c u r + f h o p ) m o d 37. f_{next}=(f_{cur}+f_{hop}) \ mod \ 37. fnext=(fcur+fhop) mod 37.


数据包格式
BLE数据包格式如下:
在BLE5.1中增加了CTE字段(虚线框),此字段由一段连续的二进制符号1组成,由于BLE是使用GFSK调制,发送数据时的频率不是稳定的(比如以
f
0
f_0
f0发送字符0,以
f
1
f_1
f1发送字符1),在接受端并不能对这些调频信号进行采样,所以不能获得信号的精确相位信息,这也就是为什么在5.1版本之前,BLE不能支持计算波达角。在BLE 5.1中进行了改进,发送端会以一个稳定的频率发送CTE(因为内部为一连串的字符1),所以在接受端可以对这段稳定的频率进行采样,获取稳定频率的IQ数据,从而使得计算波达角。
蓝牙在发送数据包时,会先发送前导码部分,以此接入地址,数据单元,CRC检测部分,CTE。