802.11 MAC和应用吞吐量测量
本示例展示如何使用SimEvents®、Stateflow®和WLAN Toolbox™在多节点802.11a/n/ac/ax网络中测量MAC和应用层吞吐量。本例中提出的系统级模型包括在应用层配置流量优先级、生成和解码非ht、HT-MF、VHT、HE-SU和HE-EXT-SU格式波形的能力、MPDU聚合和启用MPDU的块确认等功能。使用该模型计算的应用层吞吐量,是根据TGax任务小组公布的校准结果进行验证的[4]用于TGax评估方法中指定的方框3场景(测试1a、1b和2a) [3.].所得的应用层吞吐量在已公布的校正结果所指明的最小和最大吞吐量范围内[4].
802.11网络中的吞吐量
IEEE®802.11™工作组不断向802.11规范添加新功能[1提高WLAN网络的吞吐量和可靠性。吞吐量是指在一段时间内传输的数据量。MAC (Medium Access Control)层吞吐量是指一段时间内MAC层成功传输的数据量。MAC协议数据单元MPDU (MAC protocol data unit)是MAC层的传输单元。802.11n中引入了MPDU聚合来提高吞吐量。当支持MPDU聚合时,MAC层将多个MPDU聚合成金宝app一个聚合的MPDU (A-MPDU)进行传输。这减少了传输多帧时信道争用的开销,从而提高了吞吐量。在802.11ac [1]及802.11ax [2],增加了A-MPDU长度的最大限制,从而在WLAN网络中获得更好的吞吐量。
802.11模型网络
本例模拟了一个具有5个节点的WLAN网络,如图所示。这些节点实现了具有物理载波感知和虚拟载波感知的载波感知多址防碰撞(CSMA/CA)。物理载波传感采用CCA (clear channel assessment)机制,在传输之前判断介质是否繁忙。而虚拟载波传感则采用RTS/CTS握手来防止隐藏节点问题。
示例中的模型显示了各种统计信息,例如PHY层和MAC层上传输、接收和丢弃的数据包数量。此外,该模型还显示了有助于分析/估计节点级和网络级性能的运行时图。该模型是根据TGax任务小组公布的校准结果进行验证的[4]用于TGax评估方法中指定的方框3场景(测试1a、1b和2a) [3.].
WLAN网络
WLAN节点组成
WLAN节点的组成如图所示。通过按上图中每个节点的箭头按钮来检索信息。
应用程序,EDCA MAC, PHY和通道块功能
应用程序:
应用层可以生成不同优先级的数据,如图所示。这些优先级级别是使用访问类
属性中的“应用程序流量生成器”块的掩码参数。还可以配置应用层的报文大小、报文间间隔、目的节点等。
EDCA麦克:
本例中使用的EDCA MAC块具有以下功能:
生成和解码高效单用户(HE-SU)、高效扩展范围单用户(HE-EXT-SU)、非常高吞吐量(VHT)、高吞吐量混合格式(HT-MF)和非ht格式MAC帧。方法配置这些格式
PHY Tx格式
属性中的MAC EDCA块的掩码参数,如图所示。将多个mpdu组成一个A-MPDU。这可以通过设置来配置
PHY Tx格式
致其中一位HT-MF
,VHT
,HE-SU
,或HE-EXT-SU
.如果HT-MF
,MPDU聚合
属性也必须启用A-MPDU生成。在一个a - mpdu中用一个块确认(BA)帧确认多个mpdu。MAC假设a - mpdu的发送端和接收端之间有一个预配置的BA会话。
启用/禁用致谢。可以使用
Ack政策
财产。为较短的帧(小于RTS阈值)和较长的帧(大于或等于RTS阈值)维护单独的重试限制。属性可以配置这些限制
最大短重试次数
而且最长重试次数
属性。使用多输入多输出(MIMO)功能传输多个数据流。属性配置此功能
传输链数
财产。的值时,此属性才适用PHY Tx格式
属性设置为VHT
,HE-SU
,或HE-EXT-SU
.MIMO功能还可以用于HT
通过MCS
财产。取值范围[0,7]、[8,15]、[16,23]和[24,31]分别对应1、2、3和4个数据流。根据信道条件调整数据速率
速率自适应算法
财产。的值时才适用PHY Tx格式
属性设置为Non-HT
.你可以在自动速率回退(ARF)
而且吟游诗人
算法。为了在整个模拟过程中保持恒定的数据速率,固定利率
选项可用。启用基本服务集(bss)之间的并行传输
使用BSS颜色启用空间重用
财产。此属性仅适用于PHY Tx格式
属性设置为HE-SU
,HE-EXT-SU
,或HE-MU-OFDMA
.此模型不支持空间重用(SR)功能。金宝app研究采用BSS着色的SR对网络吞吐量的影响,请参考802.11ax居住场景中BSS着色的空间复用的例子。
体育:
PHY发射器和PHY接收器模块能够生成和解码非ht, HT-MF, VHT, HE-SU和HE-EXT-SU格式的波形。可以配置发送增益和发送功率Tx获得
而且发射功率
WLAN节点内PHY发射器块的掩码参数中的属性。
属性配置接收增益和接收噪声图Rx获得
而且噪声值
WLAN节点内PHY Receiver块的掩码参数中的属性。
渠道:
将由自由空间路径损耗模型和瑞利多径衰落确定的信道损伤添加到传输的PHY波形中。您可以选择启用或禁用这些损伤模型。除了减值模型外,信号接收范围还可以通过可选的范围传播损失模型来限制。为了模拟这些损失中的任何一种,信道模型必须包含发送方和接收方位置以及传输的信号强度。在将波形传递到PHY接收器块之前,通道在每个接收节点内部建模。
吞吐量测量
吞吐量因应用程序、MAC和PHY层的不同配置参数而不同。配置中的任何更改都可能增加或减少吞吐量。您可以改变这些参数的组合来测量和分析吞吐量。
MCS
: PHY数据速率PHY Tx格式
: PHY传输格式数据包大小
:应用数据包大小最大A-MPDU子帧
: A-MPDU的最大子帧数最大Tx队列大小
: MAC传输队列大小
除了上述参数,您还可以改变节点位置、Tx和Rx增益、信道损失、网络中的节点数量、MAC竞争参数、传输链数量和速率自适应算法来分析MAC吞吐量。该示例演示了通过改变数据包大小来测量和分析MAC吞吐量应用流量发生器
块。
应用数据包大小
吞吐量与应用程序数据包大小成正比。报文大小越小,发送的报文数量越多。在MAC层,每个传输包都有争用时间的开销。这是因为MAC层确保通道在特定的时间内是空闲的(参见[10.3.2.3节])。1])才传送任何封包。因此,随着数据包大小的减小,争用开销会增加,从而导致吞吐量降低。
模型配置
可以通过以下步骤配置应用报文大小:
开放模式
WLANMACThroughputMeasurementModel.slx
要进入节点子系统内部,单击节点左下角的向下箭头
要打开应用程序的掩码参数,请双击
应用流量发生器
要启用应用程序,请设置
应用程序状态
“上”配置的值
数据包大小
运行模拟并观察吞吐量。测试-1a的TGax校准结果4]如下图所示:
上图将WLAN工具箱的校准结果与[4].蓝色曲线表示WLAN Toolbox的结果,灰色曲线表示其他公司的结果。
仿真结果
模型的模拟生成:
运行时可视化显示每个节点在信道争用、传输和接收上花费的时间
一个可选的运行时可视化(在模拟期间),显示选定节点的MAC传输队列中排队的帧数。
显示每个节点的指标的条形图,例如在PHY层和MAC层上传输、接收和丢弃的数据包数量
MAT文件
statistics.mat
每个节点的每一层都有详细的统计信息
该图显示了MAC状态随模拟时间的变化。
您还可以使用上面可视化中的“观察MAC队列长度”按钮观察MAC层传输缓冲区的活动状态。
该图显示了模拟结束时的网络统计信息。
用TGax校准结果验证应用层吞吐量
TGax工作小组[4]针对不同场景发布了应用程序吞吐量结果。您可以在'statistics.mat'中存储的'statisticsTable'中的' throughput '列中观察网络中每个节点的三层(MAC层以上)吞吐量。MAC模拟器的TGax校准场景发布了具有逻辑链路控制(LLC)层开销的用户数据报协议(UDP)的应用程序吞吐量的结果。
从模拟结果计算应用程序吞吐量使用以下代码:
%负载统计信息。mat(模拟的输出)文件simulationResults = load(“统计数据”,“statisticsTable”);%的统计数据stats = simulationResults.statisticsTable;网络中成功传输MAC层字节数totalMACTxBytes = sum(stats.MACTxBytes);% UDP & LLC开销(字节)udpOverhead = 36;llcOverhead = 8;网络中的UDP & LLC开销(字节)udpAndLLCOverhead = sum(stats.MACTxSuccess)*(udpOverhead + llcOverhead);成功传输的应用程序字节数totalAppTxBytes = totalMACTxBytes - udpAndLLCOverhead;网络中最后一次传输完成的时间%(微秒)simulationTime = max(stats.MACRecentFrameStatusTimestamp);%应用程序吞吐量(Mbps)applicationThroughput = (totalAppTxBytes*8)/simulationTime;disp (['应用程序吞吐量= 'num2str (applicationThroughput)“Mbps”]);
应用吞吐量= 4.7276 Mbps
在30秒的模拟时间内,不同TGax校准场景下的应用程序吞吐量对应不同的MAC业务数据单元(MSDU)大小,如下图所示:
进一步的探索
配置选项
你可以改变这些配置参数来进一步探索这个例子:
应用层:访问类别和报文间隔
MAC层:RTS阈值、Tx队列大小、数据速率、短重试限制、长重试限制、传输帧格式、MPDU聚合、ack策略、传输链数和速率适应算法
PHY: PHY Tx增益,PHY Rx增益,Rx噪声图
信道建模:瑞利衰落,自由空间路径损耗,距离传播损耗和包接收距离
使用节点位置分配器进行节点位置
每个节点的状态可以在运行时通过Visualizer块中的可用配置来显示
默认情况下,PHY发送和接收块运行在
解释执行
模式。为延长模拟时间,请将所有块配置为代码生成
模式以获得更好的性能。
相关的例子
请参考以下示例进行进一步探索:
在802.11a/n/ac/ax网络中,通过SimEvents模拟MAC QoS (Quality of Service)流量调度,请参见802.11 MAC QoS流量调度的例子。
要使用SimEvents对具有抽象PHY的多节点IEEE 802.11ax网络建模,请参考802.11ax系统级仿真与物理层抽象的例子。
要开始使用MATLAB建模多节点IEEE 802.11网络,请参考开始使用MATLAB的WLAN系统级仿真
要使用MATLAB对多节点IEEE 802.11ax住宅场景建模,请参考基于MATLAB的802.11ax多节点住宅场景系统级仿真
本例允许您使用Simulink模型创建和配置多节点802.11网络,以分析MAC和应用层吞吐量。金宝app在该模型中,通过仿真结果得到的MAC吞吐量用于计算应用层吞吐量。使用TGax评估方法中指定的方框3场景(测试1a、1b和2a)验证了该模型[3.]以确认其符合IEEE 802.11 [1].这个例子的结论是,计算的应用层吞吐量在已公布的校正结果所指明的最小和最大吞吐量范围内[4].
附录
本例中使用的helper函数和对象是:
edcaFrameFormats.m:为PHY帧格式创建枚举。
edcaNodeInfo.m:返回节点的MAC地址。
edcaPlotQueueLengths.m:在模拟中绘制MAC队列长度。
edcaPlotStats.m:绘制MAC状态转换与模拟时间的关系。
edcaStats.m:为模拟统计数据创建一个枚举。
edcaUpdateStats.m:更新仿真统计信息。
helperAggregateMPDUs.m:生成A-MPDU,即在MSDULIST中创建并追加包含该msdu的mpdu。
helperSubframeBoundaries.m:返回A-MPDU的子帧信息。
phyRx.m:模拟与数据包接收相关的PHY操作。
phyTx.m:模拟与报文传输相关的PHY操作。
edcaApplyFading.m:在波形上应用瑞利衰落效果。
heSIGBUserFieldDecode.m: Decode HE-SIG-B用户字段。
heSIGBCommonFieldDecode.m: Decode HE-SIG-B公共字段。
heSIGBMergeSubchannels.m:合并20MHz HE-SIG-B子信道。
addMUPadding.m:增加多用户PSDU填充。
macQueueManagement.m:新建WLAN MAC队列管理对象。
roundRobinScheduler.m:创建循环调度对象。
calculateSubframesCount.m:返回要聚合的子帧数。
interpretVHTSIGABitsFailCheck.m:解释VHT-SIG-A字段中的位
rateAdaptationARF.m:创建ARF (auto rate fallback)算法对象。
rateAdaptationMinstrelNonHT.m:创建吟游诗人算法对象。
参考文献
IEEE Std 802.11™-2020。IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。
IEEE标准802.11ax™-2021。IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件1:高效WLAN的增强。
IEEE 802.11 14/0571r12。“11ax评估方法。”IEEE P802.11P:无线局域网。
男爵,史蒂芬。,Nezou, Patrice., Guignard, Romain., and Viger, Pascal. "MAC Calibration Results." Presentation at the IEEE P802.11 - Task Group AX, September 2015.