主要内容

估计蓝牙Mesh网络中的数据包传递率

该示例通过使用用于Bluetooth®协议的Communications Toolbox™库来模拟多节点Bluetooth®网状网络离散事件仿真(DES)。DES是模拟系统的行为作为在时域中发生的明确定义的事件的有序和离散序列的过程。DES允许您在微秒粒度下发生的系统中模拟事件。此外,DES还导致低模拟时间,从而使得支持大规模的系统级模拟可行。金宝app在此示例中模拟的多节点网格网络模拟了广告承载上的完整蓝牙网格堆栈。该示例旨在通过使用des准确地模拟异步传输。仿真结果包括分组传递比(PDR),与节点相关的统计信息以及显示网状网络的视觉表示的绘图。

蓝牙网栈

蓝牙核心规范[1]包括用于低速无线个人面积网络的低能量版本,称为蓝牙低能量(BLE)或蓝牙智能。BLE堆栈包括:通用属性配置文件(GATT),属性协议(ATT),安全管理器协议(SMP),逻辑链路控制和适配协议(L2CAP),链路层(LL)和物理层(PHY)。添加到低能量设备标准的标准,生成少量数据,例如家庭自动化,医疗保健,健身和物联网(物联网)等应用中使用的通知警报。

蓝牙网格配置文件[2]定义实现BLE的网格网络解决方案的基本要求。金宝搏官方网站网格堆栈位于蓝牙核心规范之上,包括:模型层,基础模型层,接入层,上传输层,下传输层,网络层和承载层。蓝牙网状网络使大型网络中的端到端通信能够支持智能照明,工业自动化,传感器网络,资产跟踪等应用程序,以及许多其他IOT解决方案。金宝搏官方网站金宝app

网格堆栈

这个图显示了在广告承载之上的蓝牙网格堆栈。

  • 模型层:该层定义创建用户场景所需的模型、消息和状态。例如,要将一盏灯的状态更改为开或关,请使用“Generic onOff”模型中的“Generic onOff set”消息。

  • 基础模型层:此图层定义配置和管理网状网络所需的型​​号,消息和状态。此图层配置元素,发布和节点的订阅地址。

  • 访问层:此图层定义了上传输层的接口和应用程序数据的格式。该层还控制上传输层中的应用程序数据的加密和解密。

  • 上传输层:上传输层的功能包括对应用数据的加密,解密和认证,并提供访问消息的机密性。该层还生成传输控制消息(友谊和心跳),并将它们传输到对等传输层。

  • 下传输层:下传输层的功能包括分段和将上部传输层消息重新组装到多个下传输层消息中。该层有助于向网络中的其他节点提供大型上部传输层消息。它还定义了朋友节点使用的朋友队列,以存储低功率节点的较低传输层消息。

  • 网络层:此图层定义了较低传输层消息的加密,解密和认证。它在承载层上传输较低传输层消息,并在启用“中继”功能时继承网状消息。它还定义包含所有最近看到的网络消息的消息缓存。如果收到的消息在缓存中,则丢弃它。中继节点使用邮件缓存(启用了“中继”功能的节点)。

  • 承载层:这一层是蓝牙网格栈和BLE核心栈之间的接口。这一层还负责通过提供设备创建一个网状网络。这里,配置意味着对设备进行身份验证并提供基本信息。一个设备必须被供给成为一个节点。这个例子假设所有的节点已经被分配到一个网状网络中。蓝牙网支持的承载类型有两种:广告承载和GATT承载金宝app。本例仅使用广告承载。

核心堆栈

此示例模拟BLE核心堆栈的这些图层:

  • 通用访问配置文件:此配置文件定义用于通过广告承载携带网格消息的广告数据(广告)类型。此示例支持“网格消息”广告金宝app类型,用于在网状节点之间交换网络层消息。

  • 链接层:此图层定义了Bluetooth网格网络中节点之间的消息交换的广播公司和观察者角色。在广播角色中,节点始终宣传。虽然在观察者角色中,节点总是扫描广告商。网格网络中的每个节点在这两个角色之间切换以用作蓝牙网状节点。

  • 物理层:该层传输和接收波形,用于在蓝牙网状网络中的节点之间交换信息。这一层模拟信道损害,如自由空间路径损耗、距离传播损耗和干扰。

离散事件仿真

DES是一种仿真类型,它将系统的功能建模为时间域内的离散事件序列。每个事件发生在一个特定的时间点,随后标志着系统状态的变化。因此,仿真可以在时域中直接从一个事件跳到另一个事件。本例中使用DES的基本优点是:

  • 其灵活性地处理抑制或扩展,允许模拟加速或减速调查的现象。DES的此属性用于在多节点蓝牙网络中模拟异步传输,从而精确建模碰撞。

  • DES提高了模拟时间性能,从而使得支持大规模的系统级模拟可行。金宝app为了在MATLAB实现中准确建模,模拟可能需要以微秒步骤运行。这不仅会增加模拟时间,而且会影响网络可扩展性。步骤时间的增加可能不允许您捕获或安排在微秒粒度中发生的事件。DES使您能够通过在离散点中建模事件来解决此问题。

检查支持包安装情况金宝app

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

多节点蓝牙网状网模型

此示例模拟蓝牙网状网络,具有21个节点。该模型输出网络的PDR以及物理,链路和网络层的发送,接收和丢包等不同的统计数据,以及可视化网络方案的绘图。建模包括:

  • 多个节点,其中每个节点包含一个蓝牙网格包生成器和接收器(网格包包括模型、接入和传输层编码和解码)、网络层、链路层和物理层

  • 共享频道,这些通道是用这些频道损伤选项进行模拟:范围传播丢失,自由空间路径损耗和干扰

  • 通过共享通道传输的数据包

  • 节点位置分配器(NPA),用于配置网络中节点的位置。NPA支金宝app持线性、网格和列表分配策略

  • 可视化网状网络方案的可视化器

要配置特定方案,请执行以下操作之一:

  • 更新上述模型中每个节点的默认配置参数

蓝牙节点

每个节点都被建模为具有网络堆栈的子系统,该网络堆栈包括蓝牙网格分组生成器和接收器,网络层,LL和PHY。

  • 应用层通过使用该数据包实体生成器(Simevents)堵塞

  • MATLAB离散事件系统(Simevents)块用于对网络层、LL和PHY进行建模

  • 在每个节点中,共享通道在接收路径中建模

应用层

实现应用层以生成和接收应用程序流量。它分为两个子块:

  • 蓝牙网状包生成器该块使用SimEvents实体生成器块生成下传输数据协议数据单元(PDU)。生成的PDU包含附加具有更高层报头的“未确认的”类型的“通用滚轮集”的模型层消息。此PDU传递给网络层。您可以配置目标节点(开/关),目的节点的名称,源速率(在数据包/秒中)以及可以使用此块从源传输到目的地的最大数据包数。一旦生成配置的最大数据包,块就会停止生成数据包。

  • 蓝牙网状包接收器此块使用Simevents实体终结器块从网络层接收输出

网络层

网络层被建模为des块。该块负责在广告承载上传输下部传输层消息,并在启用“中继”功能时转发网状消息。接收到网络PDU时,该块对接收的PDU进行解码。如果PDU成功解码,则解码信息被传递到下传输层。

通过网络层块的掩码参数,可以配置中继特性、网络发送间隔、网络发送计数、中继重传间隔和中继重传计数。

链接层

链路层被建模为des块。此块维护用于LL广播公司和观察者角色的状态机。该块负责通过使用传输和接收网格广告数据包BlelladvertisingChannelpdu.blelladvertisingchannelpdudecode.功能。

可以通过Link层块的掩码参数配置扫描和发布间隔。

物理层

PHY功能包括:

  • 传输链

LL通过向PHY TX块发送LL数据包和TX指示来启动数据包传输。该块通过使用该块为接收的LL分组产生波形blewaveformgenerator功能。它还使用配置的TX功率(假设TX增益为0)来缩放BLE波形的样本。产生的BLE波形通过共享信道发送。共享通道是通过使用Simevents组播队列建模的。

您可以使用PHY TX块的蒙版参数配置TX功率(DBM)。

  • 通道障碍建模

自由空间路径损耗模型被添加到发送的BLE波形作为通道损伤。您可以选择启用或禁用此损伤。除了该损伤模型之外,信号接收范围也可以通过使用可选的范围传播损耗模型来限制。要模拟这些频道损伤选项中的任何一种,频道模型必须包含发件人和接收器的位置。在将BLE波形传递到PHY RX块之前,该通道在每个接收节点内建模。

您可以使用BLE通道块的屏蔽参数配置通道障碍。

  • 接收链条

该模块对接收的BLE波形施加热噪声和干扰(假设Rx增益为0)comm.ThermalNoise函数噪声系数的配置值。通过添加干扰和实际信号的IQ样本来建模干扰。在施加热噪声和干扰后,PHY RX块解码得到的波形。如果LL数据包已成功解码,则将其传递给LL。

您可以使用PHY RX块的蒙版参数配置噪声系数(以DB)。

节点位置分配器(NPA)为网状网络分配节点的位置。此块支持线性,网格和列金宝app表位置分配策略。

  • 线性位置分配将节点均匀地放在2D网格上的直线上

  • 网格位置分配以网格属性指定的网格格式放置节点

  • 列表的位置分配从列表中分配节点位置[[x1,y1,z1] [x2,y2,z2] ... [xn,yn,zn],使得(xk,yk,zk)是所有的kth节点的位置K IN(1,2,...,n)

可视化器该块用于可视化模拟中的网格网络方案。您可以配置此块以可视化指定的配置。您可以使用此块的掩码参数启用或禁用可视化。

仿真结果

在此模拟中获得的结果是:

  • 数据包交付比率(PDR)

PDR是目的地的接收分组的数量与源传输的分组数量的比率,并给出:

该模型输出多节点网格网络的PDR,并保存到一个名为PDR.

  • 每个节点的统计数据

此模型输出工作区变量中每个节点的统计信息统计信息搬家。每个节点捕获的统计数据是:

  • PHY的传输和接收消息的数量

  • LL发送和接收的消息数

  • 接收到CRC失败的消息数

  • 网络层发送、接收和丢弃的消息数

  • 在网络层中继的消息数

  • 网络层的接收应用消息数

  • 网络可视化

仿真中给出了一个网格网络场景的可视化表示图。通过将光标放在每个节点上,您可以看到每个节点的统计信息。

此示例显示如何通过使用des配置和模拟多节点蓝牙网状网络。此示例中的网状网络模型将PDR输出为具有网状网络的可视表示的工作区变量。

进一步的探索

为了观察网络PDR的变化,你可以改变mesh packet generator, network layer, LL和PHY的配置参数。在这些仿真结果中,您可以看到网络层重复(NLR)对网络PDR的影响。

NLR包括网络消息和中继消息的重复。基于洪水的网络的工作原理可确保该消息到达目的节点。因此,重新传输网络和中继消息非常重要。NLR的数量取决于给定的网络拓扑的网络配置。增加NLR的数量可确保达到所需目的节点的消息的可能性很高。然而,指定NLR的高值可能对网络性能参数(例如开销,能量消耗和占空比)具有不利影响。因此,必须对给定的网络拓扑进行调整NLR的值,并在PDR和网络性能之间实现有效的权衡。

在前面的图中,您可以看到PDR随NLR增加,并随网络中的源节点的数量减少。对于NLR的特定值,PDR值达到1,然后稳定。NLR的该特定值可能根据网络配置参数而异,例如节点的总数,节点的位置,源极节点的数量,中继节点的数量等。你可以运行helperBLEMeshDESPDRCalculation通过使用三个源节点来重现这些结果。将源节点的数量设置为2和5,以获得相应的结果。您可以为任何自定义网络场景运行模拟,并获得NLR的最优值。

除了NLR,PDR相对于所述的多个配置参数而变化helperBLEMeshDESPDRCalculation。您可以通过改变任何这些参数来进一步探索网状网络模型。

附录

该示例使用这些功能:

该示例使用这些帮助程序:

参考

  1. 蓝牙特殊兴趣组(SIG)。“蓝牙核心规范”。版本5.0。https://www.bluetooth.com/

  2. 蓝牙特殊兴趣组(SIG)。“蓝牙网格配置文件”。版本1.0。https://www.bluetooth.com/

相关话题