主要内容

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

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

背景

蓝牙特殊兴趣组(SIG)引入了低功耗短程通信的BLE。BLE设备在频率范围为2.4 GHz至2.485 GHz中的全球未经许可的工业,科学和医疗(ISM)频段。BLE指定2 MHz的通道间距,这导致40个RF通道,如下图所示。BLE标准[1]指定了关联包括两者的层PHY.苹果层。BLE在移动电话,家庭自动化和物联网(IOT)趋势之间的图像和MP3等文件中找到应用程序的应用。

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

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

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

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

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

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

  • 前言:前导码取决于使用哪种PHY模式。Le1M模式使用8位替代零和1号序列,'01010101'。Le2m使用16位替代零和序列,'0101 ...'。LE500K和LE125K模式使用80位零序列,并通过重复'00111100'10次获得的Zeros序列。

  • 访问地址:使用32位序列指定两个BLE设备之间共享的连接地址。

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

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

  • 终止字段:用于转发纠错编码的两个3位零v。终端字段仅用于编码模式(LE500K和LE125K)。

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

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

介绍

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

检查支持包安装金宝app

%检查'蓝牙协议的“通信工具箱库”%支金宝app持包安装或不安装。comm金宝appsupportpackagecheck('蓝牙');

初始化波形生成参数

%指定用于生成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''汽车'......'陈旧',真的);

波形生成和可视化

%循环在数据包的数量上,生成BLE波形和绘图百分比波形频谱RNG.默认;为了packetidx = 1:numpackets消息= randi([0 1],messagelen,1);%消息比特生成chanindex = randi([0 39],1,1);%通道索引十进制值如果(ChanIndex> = 37)定期广告频道的%默认访问地址AccessAdd = [0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 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)];Tic.尽管TOC <0.5%以保持光谱0.5秒Specan(波形);结尾%绘制生成的波形timescope.title = ['ble',phymode,'频道索引的波形=',num2str(chanindex)];时间尺(波形);结尾%释放对象释放(Specan);释放(Timescope);

附录

在此示例中使用的功能是:

选定的书目

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