802.11 MAC和应用程序吞吐量的测量
本示例演示如何使用SimEvents®、Stateflow®和WLAN Toolbox™来测量多节点802.11a/n/ac/ax网络中的MAC和应用层吞吐量。本例中给出的系统级模型包括配置应用层流量的优先级、生成和解码Non-HT、HT-MF、VHT、HE-SU和HE-EXT-SU格式波形的能力、MPDU聚合和启用MPDUs块确认等功能。使用该模型计算的应用层吞吐量已根据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层的传输单位。在802.11n协议中,为了提高吞吐量,引入了MPDU聚合。当支持MPDU聚合时,MAC层将多个MPDU聚合为一个A-MPDU (aggregate -MPDU)进行传输。这减少了传输多帧的信道竞争开销,从而提高了吞吐量。在802.11 ac (1]及802.11ax [2], A-MPDU长度的最大限制被提高,从而在WLAN网络中获得更好的吞吐量。
802.11网络模型
本示例模拟一个具有五个节点的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格式
属性中包含WLAN节点内部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颜色
财产。此属性仅适用于PHY Tx格式
属性设置为HE-SU
,HE-EXT-SU
,或HE-MU-OFDMA
.该模型不支持空间重用(SR)功能。为了研究带有BSS着色的SR对网络吞吐量的影响,请参考802.11ax居住场景中使用BSS着色的空间重用(WLAN工具箱)的例子。
体育:
PHY发射器和PHY接收器块具有生成和解码非ht, HT-MF, VHT, HE-SU和HE-EXT-SU格式波形的能力。可以配置发送增益和发送功率Tx获得
而且发射功率
属性在WLAN节点内部的PHY发射器块的掩码参数中。
方法可以配置接收增益和接收噪声值Rx获得
而且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层确保通道在特定的时间内处于空闲状态(参考[1]),然后再传送数据包。因此,当包大小减小时,争用开销就会增加,从而导致吞吐量降低。
模型配置
您可以通过以下步骤配置应用程序包的大小:
开放模式
WLANMACThroughputMeasurementModel.slx
要进入节点子系统内部,请单击节点左下方的向下箭头
要打开应用程序的掩码参数,双击
应用程序流量发生器
若要启用应用程序,请设置
应用程序状态
“上”配置的值
数据包大小
运行模拟并观察吞吐量。测试-1a的TGax校准结果[4],如下所示:
上图将WLAN Toolbox的校正结果与[4].蓝色的曲线代表WLAN工具箱的结果,灰色的曲线代表其他公司的结果。
仿真结果
对模型的模拟生成:
运行时可视化,显示每个节点在通道竞争、传输和接收上花费的时间
可选的运行时可视化(在模拟过程中),显示选定节点的MAC传输队列中排队的帧数。
一个柱状图,显示每个节点的指标,如在PHY和MAC层上传输、接收和丢弃数据包的数量
一个垫子文件
statistics.mat
在每个节点的每一层获得详细的统计信息
此图显示了MAC状态相对于模拟时间的转换。
您还可以使用上面可视化中的“观察MAC队列长度”按钮来观察MAC层传输缓冲区的实时状态。
该图显示了仿真结束时的网络统计信息。
使用TGax校准结果验证应用层吞吐量
TGax工作小组[4发布了针对不同场景的应用程序吞吐量结果。您可以在'statistics.mat'中存储的'statisticsTable'中的' throughput '列中观察网络中每个节点的第三层(MAC层以上)吞吐量。MAC模拟器的TGax校准场景公布了具有逻辑链路控制(LLC)层开销的用户数据报协议(UDP)的应用程序吞吐量结果。
要根据模拟结果计算应用程序吞吐量,请使用下面的代码:
%的负载数据。mat(模拟输出)文件simulationResults =负载(“统计数据”,“statisticsTable”);%的统计数据统计= simulationResults.statisticsTable;%网络中MAC层字节传输成功totalMACTxBytes =总和(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发送端和接收端块运行在
解释执行
模式。为了更长的模拟时间,配置所有块为代码生成
模式,以获得更好的性能。
相关的例子
参考以下例子进行进一步的探索:
如果需要使用SimEvents模拟802.11a/n/ac/ax网络下MAC QoS (Quality of Service)流量调度,请参考802.11 MAC QoS流量调度(WLAN工具箱)的例子。
要使用SimEvents对具有抽象PHY的多节点IEEE 802.11ax网络建模,请参考802.11ax系统级模拟与物理层抽象(WLAN工具箱)的例子。
要开始使用MATLAB建模多节点IEEE 802.11网络,请参考开始使用MATLAB中的WLAN系统级仿真(WLAN工具箱)
要使用MATLAB建模多节点IEEE 802.11ax居住场景,请参考基于MATLAB的802.11ax多节点系统级住宅场景仿真(WLAN工具箱)
本示例使您能够使用Simulink模型创建和配置多节点802.11网络,以分析MAC和应用层吞吐量。在该模型中,通过仿真结果得到的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:解码HE-SIG-B用户字段。
heSIGBCommonFieldDecode.m:解码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:创建吟诗人算法对象。
参考文献
-2020年IEEE Std 802.11™。IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范
IEEE Std 802.11 ax™-2021。IEEE信息技术标准。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件1:高效WLAN增强。
IEEE 802.11 14/0571r12。“11 ax评价方法。”IEEE P802.11P:无线局域网。
男爵,史蒂芬。,Nezou, Patrice., Guignard, Romain., and Viger, Pascal. "MAC Calibration Results." Presentation at the IEEE P802.11 - Task Group AX, September 2015.