主要内容

模型无线消息通信的丢包和信道故障

这个例子展示了如何使用Simulink®消息,statflow®和SimEvents®建模无线消息通信的丢包和通道故障。万博1manbetx

在这个模型中,有两个发送消息的组件和两个接收消息的组件。消息使用具有传输延迟的共享无线信道传输。statflow®图表模拟无线组件中的消息发送逻辑,SimEvents®块模型无线消息传输、通道故障和丢包。

有关消息的概述,请参见万博1manbetx仿真软件信息概述

创建发送和接收消息的组件

在该模型中,有两个输出消息的软件组件:WirelessSend和WirelessStateflowSend。

在无线发送组件中,正弦波块是信号源。正弦波块产生振幅为的正弦波1.块样品时间被设置为0.1.发送块将信号转换为携带信号值数据的消息。WirelessSendComponent连接到Send Buffer 1。

在WirelessStateflowSend组件中,另一个正弦波块生成一个正弦波信号,而一个Noise块用于向信号中注入噪声。噪声块输出一个信号,其值由均值为的高斯分布产生0和方差的1.statflow®图表示一个简单的逻辑,用于过滤信号并决定是否发送消息。StateflowSend组件向Send Buffer 2发送消息。

在该模型中,有两个接收消息的软件组件:WirelessReceive和WirelessListener。

在WirelessReceive组件中,Receive块接收消息并将消息数据转换为信号值。该组件连接到接收缓冲区1。

在WirelessListener组件中,有一个Simulink Function块运行万博1manbetxonOneMessage(数据)函数。当消息到达接收缓冲区3时,Simulink函数块接受该参数万博1manbetx数据,即来自消息数据的值,作为输入信号。在这个街区数据值乘以2.块输出新的数据值。

要了解有关创建这些组件的更多信息,请参见与多个发送者和接收者建立共享的通信通道

多播无线消息通信模型

WirelessSend和WirelessStateflowSend组件将消息发送到发送缓冲区1和发送缓冲区2,这是可以无线传输消息的SimEvents®实体组播块。传输缓冲区块是一个SimEvents®组播接收队列,可以接收由发送缓冲区1和发送缓冲区2发送的消息。

为了实现发送缓冲区1、发送缓冲区2和无线信道块中的传输缓冲区块之间的无线通信:

  1. 在发送缓冲区1和发送缓冲区2块中设置多播标记参数一个

  2. 在传输缓冲区块中,设置多播标记参数一个

多播标记参数定义从哪个实体组播阻止接收消息。

模型通道失败

SimEvents®实体门块用于模拟通道故障。块有两个输入端口。一个输入端口用于接收来自传输缓冲区的消息。第二个输入端口是一个控制端口,用于决定何时打开门。

设置Gate块操作模式参数使门.在这种模式下:

  • 当块接收到一个值大于的实体时,它打开门并允许消息前进0从它的控制端口。这表示一个可操作的通道。

  • 如果实体携带的数据值小于或等于,则该块关闭大门并阻止消息传递0.这表示通道故障。

为了控制Gate块,您可以使用SimEvents®Entity Generator块(在本例中被标记为control Gate)来生成携带不同数据值的实体。

在控制门区,在事件动作,在产生行动字段,下面的代码用于生成打开和关闭Gate块的实体。最初,实体数据是1门是打开的,通道处于运行状态。当一个新实体生成时,它的值变为0,它关闭了大门。每个生成的实体都会改变门的状态,从打开到关闭或从关闭到打开。

在控制门区,在相生的时间行动字段中,下面的代码用于表示通道的操作状态和失败状态。代码将通道初始化为可操作的。dt是实体的代际时间,用于改变通道的状态,因为每个生成的实体都会改变Gate块的状态。

在代码中,修复时间是从一个统一的分布中生成的,该分布接受介于之间的值010.故障之间的时间间隔是由另一个均匀分布生成的,该分布的值介于两者之间050

模型包丢失

为了模拟丢包,使用了SimEvents®实体输出开关块。

块有两个输入端口。一个输入端口接受消息。另一个输入端口接受决定输出端口选择的实体。如果实体设置为1,块选择输出端口1将消息转发到“无线共享消息”块。如果实体设置为2,块选择输出端口2,它连接到表示丢包的Entity Terminator块。

在输出开关模块中:

  • 输出端口数被设置为2

  • 要确定选择哪个输出,请使用切换准则被设置为从控制端口初始端口选择被设置为1

一个模型0.1,在“概率丢包”块中,选择事件动作Tab,并在产生行动字段包括以下代码:

持续的rngInit;如果is空(rngInit)种子= 12345;rng(种子);rngInit = true;结束
式样:均匀分布% m:最小值,m:最大值m = 0;M = 1;x = m + (m - m) * rand;
% x由均匀分布和生成%的值在|0|和|1|之间。如果x > 0.1% Entity携带数据|1|,这将强制选择输出开关% output |1|转发实体以接收组件。实体= 1;其他的% Entity携带数据|2|,这将强制选择输出开关% output |2|,这表示丢包。实体= 1;结束

这意味着进入控制端口的实体具有0.9被设置为的概率1,它使块输出消息到无线共享消息块。

模拟模型和评审结果

模拟模型。

  • 打开连接传输缓冲块顶部的Scope块。该块显示通过共享通道传输的消息总数。

4255消息通过该通道传输。

图中还显示了频道故障。例如,放大第一幅One hundred.秒。观察者发现通道发生故障4049在此期间,消息传输被阻止。

打开Data Inspector以可视化控制Gate的实体。实体数据的更改10对于每个生成的实体。

要查看丢失的消息数量,请打开连接到Packet Loss块的Scope块。

409消息在传输过程中会丢失。这是9.6信息的百分比。

另请参阅

||||(SimEvents)|(SimEvents)|(SimEvents)|(SimEvents)

相关的话题