802.11 ax下行OFDMA多节点系统级模拟
这个例子展示了如何模拟一个WLAN多节点下行(DL)正交频分多址接入(OFDMA)网络组成的IEEE®802.11 ax™(1接入点(AP)和四个站(斯塔斯),通过使用WLAN工具箱™和通信工具箱™无线网络仿真库。
使用这个示例中,您可以:
模拟DL OFDMA沟通从美联社斯塔斯。
想象每个节点所花费的时间的空闲,争用,传输和接收状态。
捕获应用程序层(应用程序),介质访问控制层(MAC)和物理层(体育)统计数据为每个节点。
仿真结果表明性能指标如吞吐量、数据包延迟和丢包捕获每个节点。
此外,您可以进一步探索通过执行这些任务的例子。
OFDM和OFDMA
IEEE 802.11 ax标准介绍显著增强了现有802.11交流标准(2]。的一个重要改进是OFDMA,这是OFDM数字调制技术的扩展到多用户(μ)的环境中。OFDMA的根本目标是有效地使用可用的频率空间。OFDMA分区在信道带宽为多个互斥的分解,称为资源单位(俄文)。通过划分信道带宽,多个用户可以同时访问通道。因此,802.11 ax支持并发传输的数据包万博1manbetx到多个用户。
例如,传统20 MHz通道可以分割成一个最大的九子信道。802.11 ax美联社可以同时传输数据包到九802.11使用OFDMA ax斯塔斯。同时传输的帧在MAC层减少了过度竞争开销和最小化PHY层序言开销。在OFDMA,美联社控制俄文的分配。
802.11 ax标准指定了两种类型的OFDMA:
DL OFDMA -美联社传送数据包到多个斯塔斯同时使用不同的每个STA俄文。
上行(UL) OFDMA -多个斯塔斯同时AP发送数据包,每个STA使用不同的俄文。
在这个图中,802.11 n / ac / ax美联社传送DL帧独立四个OFDM斯塔斯。美联社使用整个通道带宽与一个OFDM STA沟通。同样,一个OFDM STA使用整个信道带宽与802.11 n /交流/沟通ax美联社UL OFDM传输。
这个图显示了OFDMA传播。802.11 ax美联社分区通道带宽成俄文四OFDMA斯塔斯在连续的基础上同时DL传输。
系统级仿真场景
示例创建、配置和模拟这个802.11 ax系统级的场景中,组成一个美联社和四个斯塔斯有关。
在前面的图:
美联社同时DL数据传送所有斯塔斯。
斯塔斯回应UL认可框架在接收来自美联社的DL数据帧。
检查支持包安装万博1manbetx
检查通信工具箱™安装无线网络仿真库支持包。万博1manbetx如果支持包没有万博1manbetx安装,MATLAB®返回一个错误的链接下载并安装包的支持。
wirelessnetwork万博1manbetxSupportPackageCheck
配置仿真参数
设置随机数生成器的种子1
。随机数生成的种子值控制模式。生成的随机数种子值影响几个过程模拟,包括补偿计数器选择在MAC层和物理层预测数据包接收成功。改善你的仿真结果的准确性仿真运行后,你可以改变的种子值,再次运行仿真,在多个模拟和平均结果。
rng (1,“combRecursive”)
指定仿真时间以秒为单位。想象生活状态转换图的所有节点,设置showLiveStateTransitionPlot
变量来真正的
。
simulationTime =0.1;showLiveStateTransitionPlot =真正的;
这个示例使用抽象在每个无线局域网MAC层和物理层节点因为OFDMA是只支持抽象MAC层和物理层。万博1manbetx关于抽象MAC层和物理层的更多信息,请参阅开始使用MATLAB的WLAN系统级仿真的例子。
PHYAbstractionMethod =“tgax-evaluation-methodology”;
配置WLAN的场景
初始化模拟器通过使用无线网络wirelessNetworkSimulator
对象。
networkSimulator = wirelessNetworkSimulator.init;
节点
指定网络中节点的数量。示例场景由一个美联社和四个斯塔斯有关。
numNodes = 5;numSTAs = numNodes-1;
据美联社和STA节点指定的位置。的同位语
和staPositions
向量指定
- - - - - -,
- - - - - -,
分别-笛卡尔坐标的美联社和斯塔斯。单位是米。
同位语= (0 0 0);staPositions = (((30 / numSTAs)。* (1: numSTAs))”((30 / numSTAs)。* (numSTAs: 1:1))的零(numSTAs 1)];
模型的场景中,创建一个美联社和四个斯塔斯使用wlanNode
和wlanDeviceConfig
对象。的wlanDeviceConfig
对象允许您指定配置参数为美联社和斯塔斯。创建两个WLAN设备配置对象,一个用于美联社和其他斯塔斯。您可以使用相同的设备配置对象配置所有的斯塔斯。配置一个美联社和STA,设置模式
财产的wlanDeviceConfig
对象分别“美联社”和“STA”。配置TransmissionFormat
,MCS
,DisableRTS
,MPDUAggregationLimit
,TransmitPower
AP设备配置对象的属性。注意,美联社和STA设备配置对象必须有相同的值MPDUAggregationLimit
。
这个例子模拟这些DL OFDMA帧交换序列。
使DLμ帧之后,μ块ack请求(BAR)触发帧同时征求UL认可框架从多个预定斯塔斯。
可选支持μ请求发送请求发送(RTS) /清除发送(CTS)交易所指定
DisableRTS
财产的wlanDeviceConfig
对象假
。
下面的例子使用了循环调度策略选择为每个传输斯塔斯。俄文是固定的分配对于一个给定的用户数量和带宽。
accessPointCfg = = wlanDeviceConfig(模式“美联社”TransmissionFormat =“HE-MU-OFDMA”,…% AP设备配置MCS = 8, DisableRTS = true,…MPDUAggregationLimit = 5,…TransmitPower = 20);stationCfg = = wlanDeviceConfig(模式“STA”,MPDUAggregationLimit = 5);%斯塔斯设备配置
据美联社和四个STA节点创建一个指定的配置,使用wlanNode
对象。指定的节点名称、节点位置和设备配置对象。您可以使用wlanNode
对象创建多个节点同时提供多个节点的位置。指定PHY抽象方法由美联社和斯塔斯。配置MACFrameAbstraction
属性表明MAC帧抽象的节点。
accessPoint = wlanNode (Name =“美联社”,…位置=并列,…DeviceConfig = accessPointCfg,…PHYAbstractionMethod = PHYAbstractionMethod,…MACFrameAbstraction = true);站= wlanNode (Name =“STA”+ (1:numSTAs),…位置= staPositions,…DeviceConfig = stationCfg,…PHYAbstractionMethod = PHYAbstractionMethod,…MACFrameAbstraction = true);
创建一个WLAN网络组成的AP和四个斯塔斯。
节点= (accessPoint站);
确保所有的节点都配置正确,使用hCheckWLANNodesConfiguration
helper函数。
hCheckWLANNodesConfiguration(节点)
协会
把所有的斯塔斯美联社通过使用associateStations
对象的函数wlanNode
对象。
associateStations (accessPoint、车站);
应用程序流量
创建networkTrafficOnOff
对象生成一个开关应用程序流量模式。配置开关应用程序流量通过指定应用程序数据率和数据包的大小。创建的对象的数量等于AP-STA的数量对下行流量交换的例子。将应用程序流量从美联社节点添加到相应的STA节点使用addTrafficSource
目标函数并指定相关的STA的目的地。
%创建四个networkTrafficOnOff对象,一个用于每一对AP-STA的场景为稳重的= 1:numNodes-1 trafficSource(的)= networkTrafficOnOff (DataRate = 100000, PacketSize = 100);% #好< SAGROW >addTrafficSource (accessPoint trafficSource(的),DestinationNode =站(的),AccessCategory = 0);结束
无线信道
每个节点之间随机TGax衰落信道模型,这个示例使用hSLSTGaxMultiFrequencySystemChannel
helper函数。衰落信道建模时,包传输成功的概率取决于这些因素。
信道质量STA和AP之间选择的俄文
调制和编码方案(MCS)
在这个例子中,俄文分配不考虑信道的质量每个STA和美联社之间。因此,如果一个美联社和STA之间的信道质量差和选定的MCS高,包丢失很可能发生。
通道模型添加到无线网络模拟器使用addChannelModel
对象的函数wirelessNetworkSimulator
对象。
频道= hSLSTGaxMultiFrequencySystemChannel(节点);addChannelModel (networkSimulator channel.ChannelFcn)
模拟
将节点添加到无线网络模拟器。
addnode (networkSimulator节点)
查看状态转换和性能指标图,创建一个hSimulationPlotViewer
helper对象。仿真显示了所有节点的情节中配置模拟。可视化的状态转换和性能指标具体节点,指定相应的节点对象作为第二个参数辅助对象。
viewerObj = hSimulationPlotViewer (showLiveStateTransitionPlot节点);
运行网络模拟为指定的模拟时间。运行时可视化显示了由美联社和STA在空闲的时间,争用,传输和接收状态。
运行(networkSimulator simulationTime);
结果
检索应用程序,MAC层和物理层数据在每个节点使用统计数据
对象的函数wlanNode
对象。
统计=统计数据(节点);
阴谋利用每个节点的性能plotNetworkStats
对象的函数hSimulationPlotViewer
对象。你可以想象这些模拟图。
吞吐量(Mbps)在每个发射机(美联社)。
丢包率(数据传输失败总比数据传输)在每个发射机(美联社和STA)。
平均数据包延迟发生在每一个接收器(斯塔斯)。平均数据包延迟显示了每个STA的平均延时所接受美联社的下行流量。
plotNetworkStats (viewerObj simulationTime)
进一步的探索
OFDM和OFDMA的吞吐量比较
生成吞吐量结果利用OFDM和OFDMA传输场景hCompareOFDMvsOFDMAThroughputs
helper函数。
AP为最多140斯塔斯OFDM配置。
AP最多140斯塔斯在OFDMA配置。
情节吞吐量结果的函数的数量DL斯塔斯对OFDM和OFDMA配置。默认情况下,hCompareOFDMvsOFDMAThroughputs
helper函数块静态OFDM和OFDMA传输的吞吐量值。复制的结果,设置plotStaticThroughputValues
旗帜假
。
plotStaticThroughputValues =真正的;hCompareOFDMvsOFDMAThroughputs (plotStaticThroughputValues);
前面的情节展示了OFDM和OFDMA的吞吐量比较。由于多个用户同时传输,通过使用获得的吞吐量OFDMA传输大于在利用OFDM传输吞吐量获得。增加DL斯塔斯有最小的数量对OFDM吞吐量的影响。
更快的执行使用并行模拟运行
如果你想运行多个模拟,可以通过启用加速模拟并行计算使用parfor
循环。parfor循环是一个替代为
循环。parfor循环使您可以并行执行多个模拟运行,从而减少总执行时间。要使用parfor,您需要安装并行计算工具箱™。更多信息运行多个模拟利用parfor循环,明白了hCompareOFDMvsOFDMAThroughputs
helper函数。
附录
本例使用这些助手:
hCheckWLANNodesConfiguration
——检查节点参数是否正确配置hSLSTGaxMultiFrequencySystemChannel
——返回一个对象并设置系统信道的路径损耗模型hSLSTGaxAbstractSystemChannel
——返回一个通道对象抽象PHY层hSLSTGaxSystemChannel
——返回一个通道对象完全PHY层hSLSTGaxSystemChannelBase
通道对象,返回基地hSimulationPlotViewer
——画出状态转换和性能指标数据hCompareOFDMvsOFDMAThroughputs
——检索OFDM和OFDMA传输吞吐量结果场景
引用
1。电气和电子工程师学会(IEEE)。IEEE标准信息技术——之间的通信和信息交换系统本地和市区网络——特定需求第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范修正案1:高效WLAN的增强。IEEE 802.11 ax - 2021。IEEE 2021年5月19日。https://doi.org/10.1109/IEEESTD.2021.9442429。
2。电气和电子工程师学会(IEEE)。IEEE标准信息技术——之间的通信和信息交换系统本地和市区网络——特定需求第11部分:无线局域网介质访问控制(MAC)和物理层规范(体育)。IEEE 802.11 -2020。IEEE, 2021年2月26日。https://doi.org/10.1109/IEEESTD.2021.9363693。