主要内容

BLE共存模型与WLAN信号干扰

这个例子展示了如何模拟蓝牙®低能量(bie)与WLAN干扰共存使用蓝牙协议的通信工具箱™图书馆和WLAN工具箱™。共存机制用于WLAN网络上祝福的干扰最小化。在这个例子中,每个WLAN网络的碰撞概率和干扰水平用于腐败BLE信号。生成的仿真结果在这个例子中得出这样的结论:对于高碰撞概率和WLAN频道的干扰水平,各自的祝福通道的成功率达到很低。

BLE-WLAN共存机制

有不同类型的无线网络操作在同一授权频段,可以为两个不同的网络相互干扰。这种干扰可能会导致网络传输失败。没有标准化的算法实现共存的两个不同的无线网络。然而,IEEE®802.15.2™标准(1)指定一些推荐实践实现共存的无线个人区域网(WPAN)与其他无线设备在无证经营的频段。

这个示例演示了一个祝福共存模型与WLAN信号干扰。WLAN通信需要至少20 MHz带宽,同时祝福设备只需要2 MHz带宽。WLAN使用一个信道访问机制称为载波监听多路访问与避碰(CSMA / CA),虽然祝福设备使用跳频。干涉发生在祝福和WLAN设备的操作频率重叠。尽量减少干扰,共存机制使用。

共存机制大体分为这两类(1]:

  • 协作:这种机制要求祝福和WLAN网络之间的通信链路。因为这两个网络可以相互通信,其中一个网络暂停其传播,另一种是使用渠道。这种机制是WLAN和BLE设备时使用嵌入相同的物理设备。

  • 这个:这种机制不需要任何祝福和WLAN网络之间的通信链路。自这两个网络不能相互通信,他们用自己的方法来检测其他网络的干扰。这种机制时使用WLAN和BLE设备不嵌入相同的物理设备。

这个示例演示了一个共存机制这个祝福与WLAN设备。

祝福与WLAN共存——模型描述

本节阐述了数据通信在祝福,WLAN干扰和共存算法用于避免干涉这个例子。

沟通在祝福:祝福在链路层定义了两个主要角色,即主人和奴隶。主发起数据通信和奴隶对主人。在这个例子中,祝福包之间交换建模一个主和多个(可配置到5)奴隶。在祝福2),只有在发生数据通信连接事件。连接事件是一个反复出现的(定期称为连接间隔)序列的数据包交换主人和奴隶之间的。连接事件中的所有数据包在传输相同的数据通道。在每个连接事件,主发起沟通各自的奴隶。此后,奴隶对主人数据包。如果没有数据发送,奴隶用一个空的数据包进行响应。在这个例子中,只有一个事务建模的每个连接事件。一个新的连接事件使用新的数据通道。新频道选择基于自适应通道跳跃。通道地图指示好或坏通道使用而选择一个新的通道,因此显示通道跳跃的适应能力。

WLAN交通:WLAN交通动态添加或移除,该模型根据指定的开始和结束时间。每个WLAN网络配置与个体碰撞概率。此外,WLAN干扰水平配置为每个WLAN网络腐败BLE信号在各自的频道。对于每个传输,生成一个随机数在0和1之间。如果生成的随机数小于碰撞概率,然后传送祝福信号是被添加的WLAN信号通道。生成的WLAN的交通可以修改IEEE®802.11 ax™(3)或802.11 n (4)使用wlanTraffic函数。然而,这个例子使用只有20 MHz WLAN频道。

祝福与WLAN共存:如果选中的BLE通道显著影响WLAN干涉碰撞概率的基础上,然后通过WLAN祝福传送信号干扰信号的通道。主设备定期进行奴隶通道作为“好渠道”或“坏通道”,基于渠道包失败。该频道分类信息存储在一个位图的形式称为通道映射。位图是1和0的数组定义的分类频道(“好”或“坏”)。的classifyChannels功能分类BLE渠道和存储生成的位图。主维护每个奴隶的不同通道映射。更新的地图频道发送到奴隶。周期性的频道分类配置通过设置属性ClassificationIntervalhelperBLEChannelClassification对象。BLE设备在空闲状态,计算信道繁忙时间所有的“坏通道”进行能量检测(ED)接收的信号。如果当前的好渠道小于首选的好渠道,坏的渠道进行分类。这种分类是基于信道忙的时候BadChannelClassificationMethod属性设置为“使用能源的迹象”。如果BadChannelClassificationMethod属性设置为“重置所有不好的渠道的,那么所有坏通道复位良好的渠道。

检查支持包安装金宝app

检查对蓝牙协议的通信工具库的支持包是否安装。金宝app

comm金宝appSupportPackageCheck (“蓝牙”);

BLE配置参数

这部分增加了一个祝福主设备和指定数量的奴隶设备BLE网络。因为主人负责更新频道为每个奴隶在BLE网络地图,频道分类参数配置在主设备使用helperBLEChannelClassification。的helperBLEDeviceModel对象用于模型与WLAN BLE共存。

%的数量BLE奴隶的主人slavesCount = 1;%创建BLE主设备的能力与“slavesCount”%的奴隶主= helperBLEDeviceModel (“角色”,“大师”,“SlavesCount”,slavesCount);%初始化通道分类参数分类祝福%通道为好或坏的通道。PERThreshold:包% ClassificationInterval错误率(每)阈值:%周期性RxStatusCount频道分类:%接收数据包的最大数量MinRxCountToClassify现状:%最小数量的收到数据包BadChannelClassificationMethod现状:%的方法坏PreferredMinimumGoodChannels频道分类:%首选的好渠道channelClassification = helperBLEChannelClassification (“PERThreshold”现年40岁的“ClassificationInterval”,150,“RxStatusCount”,50岁,“MinRxCountToClassify”4“BadChannelClassificationMethod”,“重置所有不好的渠道的,“PreferredMinimumGoodChannels”,30);%分配频道分类参数到主设备的主人。ChannelClassification = ChannelClassification;%初始化“slavesCount”数量的奴隶奴隶(slavesCount) = helperBLEDeviceModel;%创建“slavesCount”数量的奴隶设备idx = 1: slavesCount奴隶(idx) = helperBLEDeviceModel (“角色”,“奴隶”);结束%之间创建“slavesCount”连接“大师”和“奴隶”。这%函数创建一个链路层连接通过分享共同的连接%间隔等参数连接,为每一个访问地址%对主从连接。(主人,奴隶)= helperBLECreateLLConnection(主人,奴隶);

WLAN交通模型

本节WLAN交通使用指定的配置模型。

配置参数

每个WLAN网络的配置参数包括碰撞概率、干扰水平,干扰在指定的开始时间和结束时间干扰WLAN通道。的helperBLEWLANSignalTrafficConfig对象用于WLAN交通模型。

%设置数量的WLAN网络干扰BLE网络wlanNetworksCount = 6;%的WLAN通道(在[1、14])所使用的每一个WLAN网络wlanChannels = (1、5、6、12 9 8];%的概率与祝福每个WLAN网络网络的碰撞collisionProbabilities = (0.75, 0.68, 0.76, 0.80, 0.78, 0.64);%开始和结束时间(以毫秒为单位),在每个WLAN传输%网络wlanInterferencePeriod =[0,正无穷;0,正无穷;0,2100;0,正无穷;200年,2800年;150年,正);%的比例WLAN信号功率相对于BLE信号功率wlanInterferenceLevel = (1.20, 0.90, 0.85, 0.95, 0.70, 1.15);

WLAN交通模型

这部分配置每个奴隶的干扰通过添加WLAN交通与指定的配置。WLAN交通(non-HT波形)被添加到所有指定WLAN渠道使用wlanTraffic函数。

%为WLAN交通创建一个配置对象wlanTrafficConfig = helperBLEWLANSignalTrafficConfig ();% WLAN交通配置指定的WLAN网络参数wlanTraffic (wlanTrafficConfig wlanNetworksCount、wlanChannels collisionProbabilities,wlanInterferencePeriod wlanInterferenceLevel);

共存的模拟

本节说明了主从设备之间的通信,而干扰无线局域网信号。

初始化仿真参数

仿真参数所需的祝福与WLAN信号干扰共存初始化代码。

%初始化仿真参数%重置随机数生成器的种子sprev = rng (“默认”);%与WLAN BLE共处使可视化,设置%”enableVisualization”为真。禁用BLE的可视化%与WLAN设置“enableVisualization”共存,假的。enableVisualization = true;%,使频道跳频序列的可视化,设置%”enableHoppingVisualization”为真。禁用的可视化%频道跳频序列,将“enableHoppingVisualization”设置为false。%如果“enableVisualization”设为false,然后%”enableHoppingVisualization”不是考虑。enableHoppingVisualization = true;%总模拟时间,以毫秒为单位simulationTime = 4000;%一步时间是0.025毫秒。所有的时间%参数(连接间隔、扫描间隔、广告间隔,%在BLE规范等)的倍数0.625毫秒。的%最小数据包大小这个示例中所使用的9个八位字节(72位)。的%数据包传输时间在不同的体育模式是:0.072毫秒% (LE1M), 0.036毫秒(LE2M), 0.144毫秒(LE500K)%和0.288毫秒(LE125K)。因此,步骤时间%认为是0.025毫秒(0.625是0.025的倍数)来实现%仿真时间和准确性之间的权衡。步伐= 0.025;%参数生成BLE传输模式phyMode =“LE1M”;%模式可以“LE2M”|“LE1M”|“LE500K”|“LE125K”EbNo = 16;在dB % Eb /没有价值%初始化sps PHY参数:样品每个符号bleSNR:% BLE信号噪声比initImpairments:祝福PHY系统对象%障碍[sps, bleSNR initImpairments] = helperBLEInitPHYParameters (EbNo phyMode);%为空包创建结构来初始化输出的主%和奴隶LLPDU:生成的链路层协议数据单元(PDU)%的附加%循环冗余校验(CRC)% RateIndex:字符串表示的速率包%传播。它包含一个“LE2M”|“LE1M”|“LE500K”% |“LE125K”% AccessAddress:为每个主从连接对唯一的地址% ChannelIndex:通道传输的数据包emptyPacket =结构(“LLPDU”[],“AccessAddress”,,“RateIndex”,,“ChannelIndex”1);%初始化奴隶的输出slaveOutput = emptyPacket;% Preallocate缓冲区存储奴隶输出slaveOutputs =细胞(1、slavesCount);

模拟

本节模拟之间的数据包交换祝福主人和奴隶设备在特定的时间。

  • 主(传输或接收):在每个连接事件,祝福主人发起沟通各自的奴隶通过传送祝福波形生成的链路层数据包的数据通道。无线局域网信号干扰生成保佑波形在各自的保佑通道。传输后,主人等待响应的奴隶。

  • 奴隶(传输或接收):在每个连接事件,祝福从接收到的干扰波形主数据通道。此后,奴隶对主人在同一信道的数据传输链路层数据包后生成BLE波形。生成的BLE波形由无线局域网信号干扰各自的祝福通道。

添加WLAN干扰之前,传送祝福信号通过以下射频损伤。

  • 直流偏置

  • 载波频率偏移量

  • 载波相位偏移量

  • 时间漂移

使用helperBLEImpairments功能配置射频损伤。

运行的函数helperBLEDeviceModel是用来祝福主人和奴隶之间的通信设备。的addInterference函数添加了无线局域网信号腐败BLE信号。高斯白噪声(WGN)添加到干扰波形!的helperBLEVisualizeCoexistence可视化仿真BLE共处与WLAN的信号。

%初始化数据的可视化共存模型为每个奴隶。%这可视化显示了WLAN渠道以及它们的碰撞%的概率,也显示了通信通道跳跃%祝福主人和奴隶之间的设备。它还显示了状态(好或%坏)的每个祝福通道以及各自的成功率%的通道。coexistenceModel =helperBLEVisualizeCoexistence (“行动”,“初始化”,“SlaveCount”slavesCount,“WLANChannelList”wlanChannels,“PERThreshold”master.ChannelClassification.PERThreshold,“ClassificationInterval”master.ChannelClassification.ClassificationInterval,“ChannelBusyCountThreshold”master.ChannelClassification.ChannelBusyCountThreshold,“PreferredMinimumGoodChannels”master.ChannelClassification.PreferredMinimumGoodChannels,“ConnectionInterval”.ConnectionInterval master.LLConnectionConfigs (1),“Stoptime”simulationTime,“PHYMode”phyMode,“EnableVisualization”enableVisualization,“EnableHoppingVisualization”,enableHoppingVisualization);coexistenceModel.initializeVisualization ();视图模型(coexistenceModel);的主人。CoexistenceVisualization = coexistenceModel;%运行仿真simulationTimer = 0:步伐:simulationTime%停止仿真,如果所有的奴隶都是断开的%的主人由于干扰。如果有幸获得的每通道中%,他们相互通信高,然后大师%奴隶断开。每通道的高,因为%的高碰撞概率各自的通道。如果元素个数(master.ActiveConnectionIdxs(主人。ActiveConnectionIdxs ~ = 1)) = = 0流(的仿真终止所有的奴隶都断开主设备。\ n”)打破;结束%更新WLAN的交通可视化helperBLEUpdateWLANTraffic (slavesCount wlanChannels、wlanTrafficConfig simulationTimer,掌握);%的主人:传输或接收模式如果(主。ActiveChannel = = slaveOutput.ChannelIndex) & &~ isempty (slaveOutput.LLPDU) masterOutput =运行(主人,slaveOutput);其他的masterOutput =运行(主人,emptyPacket);结束如果~ (isempty (masterOutput.LLPDU))%生成PHY波形masterOutput。RateIndex = phyMode;masterWaveformTx = helperBLEPHYTx (masterOutput, sps);%添加障碍masterWaveformTx = helperBLEImpairments (initImpairments masterWaveformTx, sps);%添加WLAN干扰masterWaveformTx = addInterference (wlanTrafficConfig,masterOutput。ChannelIndex、simulationTimer masterWaveformTx);%通过通过AWGN信道传输波形masterWaveformRx = awgn (masterWaveformTx bleSNR);%解码PHY波形后添加障碍和干扰[decodedMasterPacket, decodedMasterAccessAddress] = helperBLEPHYRx (masterWaveformRx,phyMode、sps masterOutput。AccessAddress masterOutput.ChannelIndex);masterOutput。LLPDU = decodedMasterPacket;%访问地址变成空BLE PHY接收器失败时%检测有效的祝福包由于高水平或干涉%障碍或噪音水平。如果~ isempty (decodedMasterAccessAddress) masterOutput。AccessAddress = dec2hex (bi2de (decodedMasterAccessAddress '), 8);结束结束%更新当前仿真时间master.CoexistenceVisualization。CurrentTime = simulationTimer;master.CoexistenceVisualization。Action =“模拟进展”;%的奴隶:传输或接收模式idx = 1: slavesCount%通过“MasterOutput”奴隶听相同的%的频率如果(奴隶(idx)。ActiveChannel = = masterOutput.ChannelIndex) & &~ isempty (masterOutput.LLPDU) slaveOutputs {idx} =运行(奴隶(idx), masterOutput);%空数据包传递给所有其他的奴隶其他的slaveOutputs {idx} =运行(奴隶(idx), emptyPacket);结束%更新模拟进展为每一个奴隶master.CoexistenceVisualization。SlaveNumber = idx;视图模型(master.CoexistenceVisualization)结束slaveOutput = emptyPacket;%得到积极的奴隶输出(在任何时候只有一个奴隶实例%活跃)idx = 1: slavesCount如果~ isempty (slaveOutputs {idx} .LLPDU) slaveOutput = slaveOutputs {idx};打破结束结束如果~ (isempty (slaveOutput.LLPDU))%生成PHY波形slaveOutput。RateIndex = phyMode;slaveWaveformTx = helperBLEPHYTx (slaveOutput, sps);%添加BLE障碍slaveWaveformTx = helperBLEImpairments (initImpairments slaveWaveformTx, sps);%添加WLAN干扰slaveWaveformTx = addInterference (wlanTrafficConfig,slaveOutput。ChannelIndex、simulationTimer slaveWaveformTx);%通过通过AWGN信道传输波形slaveWaveformRx = awgn (slaveWaveformTx bleSNR);%解码PHY波形后添加障碍和干扰[decodedSlavePacket, decodedSlaveAccessAddress] = helperBLEPHYRx (slaveWaveformRx,phyMode、sps slaveOutput。AccessAddress slaveOutput.ChannelIndex);slaveOutput。LLPDU = decodedSlavePacket;%访问地址变成空BLE PHY接收器失败时%检测有效的祝福包由于高水平或干涉%障碍或噪音水平。如果~ isempty (decodedSlaveAccessAddress) slaveOutput。AccessAddress = dec2hex (bi2de (decodedSlaveAccessAddress '), 8);结束结束结束%更新每个奴隶的模拟进展idx = 1: slavesCount master.CoexistenceVisualization。SlaveNumber = idx;master.CoexistenceVisualization。Action =“模拟进展”;视图模型(master.CoexistenceVisualization)结束%日志本例的统计数据% | bleCoexistenceWithWLANSignalStatistics。垫|文件helperBLELogCoexistenceStats(主人,奴隶,“bleCoexistenceWithWLANSignalStatistics.mat”);%恢复以前的设置随机数生成rng (sprev)

仿真结果

这个示例中生成的模拟:

  1. 一双为每个主从连接运行时的情节描述状态(好或坏)和累积,最近每个通道显示的成功率

  2. 一个垫子文件bleCoexistenceWithWLANSignalStatistics.mat与收到的数据包数量等详细统计数据,每个通道上的数据包数量损坏和状态(好或坏)的每个分类间隔的通道

进一步的探索

你可以进一步探索这个例子:

  • 使用其他变异的WLAN格式如non-HT直接序列扩频(DSSS)或高吞吐量(HT)wlanTraffic函数

  • 腐蚀的BLE信号addInterference函数通过改变干扰出席BLE信号的不同阶段

你也可以探索WLAN网络上祝福干扰的统计建模

这个例子使您能够分析BLE共存与WLAN信号干扰。碰撞概率和干扰水平的每个WLAN网络用于腐败BLE信号。祝福主人和奴隶设备使用良好的渠道相互沟通以避免丢包。在每个祝福通道计算成功率。这个例子中得出结论:高碰撞概率和WLAN频道的干扰水平,在实现各自的祝福通道的成功率很低。因此,这些渠道不是用来祝福主人和奴隶之间的通信设备。

附录

这个例子使用这些特性:

本例使用这些助手:

选定的参考书目

  1. IEEE标准®802.15.2™。“共存的无线个人区域网络与其他无线设备在无证经营的频率乐队”。IEEE推荐信息技术实践-电信和信息交换系统之间的地方和市区网络——具体要求;IEEE计算机协会

  2. 蓝牙特别兴趣小组(团体)。“蓝牙核心规范”。5.0版。https://www.bluetooth.com/

  3. IEEE P802.11ax™/ D3.1。“无线局域网介质访问控制(MAC)和物理层(体育)规范-第六修正案:增强高效无线局域网”。信息技术标准草案——之间的通信和信息交换系统本地和市区网络——具体要求;局域网/人标准IEEE计算机协会的委员会

  4. IEEE Std 802.11™。“无线局域网介质访问控制(MAC)和物理层(体育)规范”。IEEE标准信息技术-电信和信息交换系统之间的地方和市区网络——具体要求;局域网/人标准IEEE计算机协会的委员会

相关的话题