主要内容

蓝牙低能量波形生成和可视化

此示例显示了Bluetooth®协议的通信工具箱™库如何用于为不同模式的蓝牙低能(BLE)物理层(PHY)生成波形[1]。

背景

蓝牙特殊兴趣组(SIG)引入BLE用于低功耗短距离通信。BLE设备在2.4 GHz至2.485 GHz的全球未经许可的工业、科学和医疗(ISM)频段运行。BLE指定了2 MHz的信道间隔,结果是40个射频信道,如下图所示。BLE标准[1]指定了关联包括两者的层PHY.苹果电脑层。BLE在移动电话之间的文件传输(如图像和MP3)、家庭自动化和物联网(IoT)趋势方面的应用。

蓝牙标准[1]指定以下物理层模式:

  • Le1m.- 未编码的PHY,数据率为1 Mbps

  • LE2M- 未编码的PHY,数据率为2 Mbps

  • LE500K- 编码PHY,数据速率为500 Kbps

  • LE125K.-编码PHY,数据速率125kbps

这些模式的空中接口数据包格式包括以下字段:

  • 序言:由PHY模式决定。LE1M模式使用一个由0和1交替组成的8位序列'01010101'。LE2M使用16位的0和1交替序列,'0101…'。LE500K和LE125K模式使用80位零和1序列,通过重复'00111100'十次获得。

  • 访问地址:指定两台BLE设备之间共享的连接地址,32位顺序。

  • 编码指标:用于区分两种编码模式的2位序列(LE125K,LE500K)。

  • 有效载荷:输入消息位,包括PDU和CRC。最大消息大小为2080位。

  • 终止字段:两个3位零向量,用于前向纠错编码。终止域只存在于编码模式(LE500K和LE125K)。

未编码PHY(LE1M和LE2M)模式的数据包格式如下图所示:

编码PHY (LE500K和LE125K)模式的包格式如下图所示:

介绍

这个示例演示了如何根据蓝牙规范为所有物理层模式生成BLE波形[1]。使用时间范围和频谱分析仪分别在时间域和频域中可视化产生的BLE波形。

检查支持包安装情况万博1manbetx

%检查蓝牙协议的“通信工具箱库”%支万博1manbetx持包安装或不安装。comm万博1manbetxSupportPackageCheck (“蓝牙”);

初始化波形生成的参数

%指定用于生成BLE波形的输入参数numpackets = 10;%要生成的数据包数sps = 16;每个符号的%样本Messagelen = 2000;%消息长度,单位为比特Phymode ='le1m';%从集合{'le1m','le2m','le500k','le125k'}中选择一个模式;ChannelBW = 2E6;根据标准%通道间距(Hz)%基于PHY模式定义符号速率如果任何(strcmp (phyMode, {'le1m'“LE500K”'le125k'})) symbolRate = 1e6;别的SymbolRate = 2E6;结尾

创建可视化对象

%创建频谱分析仪对象specan = dsp.spectrumanalyzer('spectrumtype'的功率密度);specan.samplerver = symbolrate * sps;%创建时间范围对象timeScope = timeScope ('采样率',symbolrate * sps,'timespansource''汽车'......'ShowLegend',真的);

波形生成与可视化

%循环在数据包的数量上,生成BLE波形和绘图百分比波形频谱rng默认;为了packetIdx = 1:numPackets message = randi([0 1],messageLen,1);%消息比特生成chanindex = randi([0 39],1,1);%通道索引十进制值如果(ChanIndex> = 37)定期广告频道的%默认访问地址accessAdd = [0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0......1 0 0 0 1 0 1 1 1 0 0 0 1]';别的%数据通道的随机访问地址%理想情况下,此访问地址值应符合要求蓝牙核心体积6的2.1.2节规定的%% 规格。AccessAdd = [0 0 0 0 0 0 0 1 0 0 1 0 0......0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1];结尾波形= BLEWaveFormGenerator(消息,......'模式',phymode,......'samplespersymbol'sps,......'ChannelIndex',chanindex,......“AccessAddress”,accessadd);specan.frequencyOffset = ChannelBw * chanindex;specan.title = ['谱',phymode,'通道索引的波形= 'num2str (chanIndex)];ttoc < 0.5%保持光谱0.5秒specAn(波形);结尾%绘制生成的波形timeScope。Title = ('ble',phymode,'通道索引的波形= 'num2str (chanIndex)];timeScope(波形);结尾%释放对象释放(Specan);释放(Timescope);

附录

本例中使用的特性是:

选定的参考书目

  1. 蓝牙核心规范的第6卷,版本5.0核心系统封装[低能量控制器音量]。