主要内容

802.11 ax下行OFDMA和多用户MIMO吞吐量仿真

这个例子显示了一个发送和接收处理IEEE®802.11 ax™TGax室内衰落信道多用户下行传输。三种传播模式模拟:OFDMA, MU-MIMO, OFDMA和MU-MIMO的组合。

介绍

这个例子模拟一个场景的接入点(AP)传输到四站(斯塔斯)同时使用效率高(他)多用户(μ)格式数据包按照IEEE Std 802.11 ax™-2021 (1]。

他多用户格式可以配置为一个OFDMA传输,MU-MIMO传输,或两者的结合。这种灵活性允许HE-MU数据包传输单个用户在整个乐队,乐队的多个用户在不同部分(OFDMA),或多个用户在同一频带(MU-MIMO)的一部分。

比较三种传播模式的多用户下行场景:

  1. OFDMA -四种用户分配一个单独的资源单元(俄文)和传输是beamformed。

  2. MU-MIMO——四个用户分享完整的乐队。

  3. 混合MU-MIMO和OFDMA -两个用户共享一个俄文在MU-MIMO配置中,剩下的两个用户分配一个俄文。

802.11 ax格式的详细概述,请参阅802.11 ax波形生成的例子。

对于每一个传输方式,美联社发出一阵10包,每个STA解调和解码传送给它的数据。一个进化TGax室内MIMO信道与AWGN建模每个STA和美联社之间。提供原始美联社吞吐量作为度量比较传输模式和计算通过计算所有斯塔斯成功传输的数据包数量。重复仿真不同的路径损失。在这个例子中,所有传输beamformed。因此,在模拟数据传输之前,美联社和每个站之间的通道是在完美的条件下获得信道状态信息。

传输配置

一个wlanHEMUConfig对象用于配置HE-MU数据包的传输。三个传输配置对象指定定义三种不同的美联社传输:

  1. cfgMUMIMOMU-MIMO配置由一个与4用户242 -语气俄文。每个用户有一个时空流。

  2. cfgOFDMA是一个OFDMA配置由四个52-tone俄文,每个国家都有一个用户。每个用户有两个时空流。

  3. cfgMixed是一种混合OFDMA和MU-MIMO配置由一个106 -由两个用户共享的语气俄文,和两个52-tone俄文,每个国家都有一个用户。MU-MIMO用户都有一个时空流,OFDMA用户各有两个时空流。

一个20 MHz带宽用于所有传输频道。其他传输参数如APEPLength和MCS是相同的所有用户的所有配置。

首先,MU-MIMO配置被定义。分配指数195年定义了一个单一的242 -语气俄文,MU-MIMO四个用户。选择一个分配指数的描述,请参阅802.11 ax波形生成的例子。

% MU-MIMO配置- 4用户在一个242 -语气俄文cfgMUMIMO = wlanHEMUConfig (195);

分配图显示一个俄文是分配给所有四个用户。

showAllocation (cfgMUMIMO);

传输参数为每个用户配置。

numTx = 6;%的发送天线数量guardInterval = 0.8;%警卫在微秒时间间隔%为所有用户配置常见的参数cfgMUMIMO。NumTransmitAntennas = numTx;cfgMUMIMO。GuardInterval = GuardInterval;%每个用户配置参数% STA # 1cfgMUMIMO.User {1}。NumSpaceTimeStreams = 1;cfgMUMIMO.User {1}。MCS = 4;cfgMUMIMO.User {1}。APEPLength = 1000;% STA # 2cfgMUMIMO.User {2}。NumSpaceTimeStreams = 1;cfgMUMIMO.User {2}。MCS = 4;cfgMUMIMO.User {2}。APEPLength = 1000;% STA # 3cfgMUMIMO.User {3}。NumSpaceTimeStreams = 1;cfgMUMIMO.User {3}。MCS = 4;cfgMUMIMO.User {3}。APEPLength = 1000;% STA # 4cfgMUMIMO.User {4}。NumSpaceTimeStreams = 1;cfgMUMIMO.User {4}。MCS = 4;cfgMUMIMO.User {4}。APEPLength = 1000;

接下来,OFDMA配置被定义。分配指数112年定义了四个52-tone俄文,每个单个用户服务。

% OFDMA配置- 4用户,每个52-tone俄文cfgOFDMA = wlanHEMUConfig (112);

分配图显示了四个俄文,每个单个用户。当比较这种分配情节完整的乐队MU-MIMO情节,很明显,副载波的总数(4 x52 = 208副载波)使用小于MU-MIMO分配(242副载波)。少数量的副载波允许每个OFDMA用户之间的警卫。

showAllocation (cfgOFDMA);

传输参数为每个用户配置。

%为所有用户配置常见的参数cfgOFDMA。NumTransmitAntennas = numTx;cfgOFDMA。GuardInterval = GuardInterval;%每个用户配置参数% STA # 1(俄文# 1)cfgOFDMA.User {1}。NumSpaceTimeStreams = 2;cfgOFDMA.User {1}。MCS = 4;cfgOFDMA.User {1}。APEPLength = 1000;% STA # 2(俄文# 2)cfgOFDMA.User {2}。NumSpaceTimeStreams = 2;cfgOFDMA.User {2}。MCS = 4;cfgOFDMA.User {2}。APEPLength = 1000;% STA # 3(俄文# 3)cfgOFDMA.User {3}。NumSpaceTimeStreams = 2;cfgOFDMA.User {3}。MCS = 4;cfgOFDMA.User {3}。APEPLength = 1000;% STA # 4(俄文# 4)cfgOFDMA.User {4}。NumSpaceTimeStreams = 2;cfgOFDMA.User {4}。MCS = 4;cfgOFDMA.User {4}。APEPLength = 1000;

最后,混合MU-MIMO和OFDMA配置被定义。分配指数25定义了一个106 -语气俄文两个用户,和两个52-tone俄文,每个国家都有一个用户。

% OFDMA和MU-MIMO混合配置cfgMixed = wlanHEMUConfig (25);

分配图显示了三个俄文,一个与2用户(MU-MIMO),和其他的每一个用户(OFDMA)。

showAllocation (cfgMixed);

传输参数为每个用户配置。

%为所有用户配置常见的参数cfgMixed。NumTransmitAntennas = numTx;cfgMixed。GuardInterval = GuardInterval;%每个用户配置参数%俄文# 1有两个用户(MU-MIMO),总共2 STS每个用户(1)% STA # 1(俄文# 1)cfgMixed.User {1}。NumSpaceTimeStreams = 1;cfgMixed.User {1}。MCS = 4;cfgMixed.User {1}。APEPLength = 1000;% STA # 2(俄文# 1)cfgMixed.User {2}。NumSpaceTimeStreams = 1;cfgMixed.User {2}。MCS = 4;cfgMixed.User {2}。APEPLength = 1000;% OFDMA剩下的两个用户% STA # 3(俄文# 2)cfgMixed.User {3}。NumSpaceTimeStreams = 2;cfgMixed.User {3}。MCS = 4;cfgMixed.User {3}。APEPLength = 1000;% STA # 4(俄文# 3)cfgMixed.User {4}。NumSpaceTimeStreams = 2;cfgMixed.User {4}。MCS = 4;cfgMixed.User {4}。APEPLength = 1000;

通道模型配置

TGax室内信道模型是本例中使用。单个通道是用来模拟美联社和每个用户之间的联系。TGax通道对象,tgaxBase创建与属性相关的所有用户。在这个例子中,延迟概要文件(模型)和接收天线的数量是常见的所有用户。模型是非线性的,当发射机和接收机之间的距离大于或等于10米。这是进一步描述wlanTGaxChannel。一个固定的种子用于通道允许可重复性。

%创建通道配置常见的为所有用户tgaxBase = wlanTGaxChannel;tgaxBase。DelayProfile =“模型”;%延迟概要tgaxBase。NumTransmitAntennas = numTx;%的发送天线数量tgaxBase。NumReceiveAntennas = 2;%每个用户有两个接收天线tgaxBase。TransmitReceiveDistance = 10;%瞄准线距离tgaxBase。ChannelBandwidth = cfgMUMIMO.ChannelBandwidth;tgaxBase。SampleRate = wlanSampleRate (cfgMUMIMO);%为通道设置一个固定的种子tgaxBase。RandomStream =“与种子mt19937ar”;tgaxBase。种子= 5;

下一个为每个用户创建一个频道。每个用户的通道是一个克隆的tgaxBase,但有一个独特的UserIndex财产,存储在一个单元阵列tgax。的UserIndex每个频道的属性设置为每个用户提供一个独特的通道。仿真中使用的合成通道如下所示。

%单元阵列存储通道对象,每一个用户numUsers =元素个数(cfgMixed.User);%的用户数量模拟在这个例子tgax =细胞(1、numUsers);%生成用户的渠道userIdx = 1: numUsers tgax {userIdx} =克隆(tgaxBase);tgax {userIdx}。UserIndex= userIdx;%设置独特的用户索引结束

波束形成的反馈

传输波束形成对OFDMA和MU-MIMO依赖于信道状态的知识在beamformer发射机和接收机之间。per-subcarrier信道状态的反馈是由每个STA的通道。空数据包(NDP)是由美联社传播,并且每个STA使用这包来确定信道状态。然后反馈信道状态美联社。相同的过程用于802.11 ac™802.11交流传输波束形成802.11交流多用户MIMO预编码例子,但他一个单用户民主党包而不是VHT包使用。在这个例子中,反馈被认为是完美的;没有噪音给频道测深和反馈是未压缩的。的heUserBeamformingFeedbackhelper函数检测新民主党和使用信道估计来确定信道状态信息。奇异值分解)用于计算波束形成反馈。

%创建一个民主党与正确的数量的时空流产生%足够LTF符号cfgNDP = wlanHESUConfig (“APEPLength”0,“GuardInterval”,0.8);%在民主党没有数据cfgNDP。ChannelBandwidth = tgaxBase.ChannelBandwidth;cfgNDP。NumTransmitAntennas = cfgMUMIMO.NumTransmitAntennas;cfgNDP。NumSpaceTimeStreams = cfgMUMIMO.NumTransmitAntennas;%生成民主党包——空PSDU没有数据txNDP = wlanWaveformGenerator ([], cfgNDP);为每个用户STA %,新民主党数据包穿过英吉利海峡和计算%的反馈信道状态矩阵的奇异值分解。staFeedback =细胞(1、numUsers);userIdx = 1:元素个数(tgax)%接收波形在用户STA 50个样本填充。没有噪音。rx = tgax {userIdx} ([txNDP;0(50、大小(txNDP 2))));%得到full-band波束形成用户的反馈staFeedback {userIdx} = heUserBeamformingFeedback (rx cfgNDP);结束

仿真参数

在本例中模拟不同路径损失。相同的路径损耗和噪声地板适用于所有用户。对于每个路径损耗模拟,10包通过通道。数据包由20微秒。

cfgSim =结构;cfgSim。NumPackets = 10;%的数据包数量为每个路径损耗来模拟cfgSim。Pathloss = (96:3:105);%路径损失在dB来模拟cfgSim。TransmitPower = 30;%美联社dBm传输能量cfgSim。NoiseFloor = -89.9;% STA噪声地板上dBmcfgSim。IdleTime = 20;%数据包之间的空闲时间在美国

模拟与OFDMA

首先模拟场景的OFDMA配置和传输波束形成。

指导矩阵计算为每个俄文使用斯塔斯的反馈。的heMUCalculateSteeringMatrixhelper函数计算波束形成矩阵的俄文CSI的反馈。

%为每个俄文,计算矩阵应用指导ruIdx = 1:元素个数(cfgOFDMA.RU)%计算指导矩阵应用于俄罗斯的反馈steeringMatrix = heMUCalculateSteeringMatrix (staFeedback cfgOFDMA、cfgNDP ruIdx);%指导矩阵应用于每一个俄文cfgOFDMA.RU {ruIdx}。SpatialMapping =“自定义”;cfgOFDMA.RU {ruIdx}。SpatialMappingMatrix = steeringMatrix;结束

heMUSimulateScenariohelper函数执行仿真。ax的pre-HE序言802.11向后兼容802.11交流,因此在这个例子的前端同步组件VHT波形同步使用他在每个STA波形。每个包和路径损耗模拟以下处理步骤发生:

  1. 创建一个PSDU和编码创建一个包波形。

  2. 波形通过一个进化TGax和AWGN信道模型添加到接收到的波形。数据包之间的信道状态维护。

  3. 检测到数据包。

  4. 粗糙的载波频率偏移估计和修正。

  5. 好时机建立同步。

  6. 载波频率偏移估计和修正。

  7. HE-LTF从同步接收波形中提取。HE-LTF OFDM解调和信道估计。

  8. 他从同步数据字段提取得到波形和OFDM解调。

  9. 常见的试点阶段跟踪执行跟踪任何剩余载波频率偏移量。

  10. 相位校正与信道估计OFDM符号是平衡的。

  11. 噪声估计是使用解调数据字段执行飞行员和单个流在飞行员副载波信道估计。

  12. 使相等符号解调和解码恢复PSDU。

  13. 恢复PSDU传播PSDU相比是确定包已成功恢复。

OFDMA的仿真运行配置。

disp (“模拟OFDMA…”);throughputOFDMA = heMUSimulateScenario (cfgOFDMA tgax cfgSim);
模拟OFDMA……Pathloss 96.0 dB,美联社吞吐量66.1 Mbps Pathloss 99.0 dB,美联社吞吐量66.1 Mbps Pathloss 102.0 dB,美联社吞吐量49.6 Mbps Pathloss 105.0 dB,美联社吞吐量16.5 Mbps

模拟与MU-MIMO

现在的场景模拟MU-MIMO配置。的heMUCalculateSteeringMatrixhelper函数计算波束形成矩阵的俄文的CSI MU-MIMO分配的所有用户的反馈。零迫使解决方案是用来计算指导矩阵在helper函数。

%计算指导矩阵应用于俄罗斯的反馈ruIdx = 1;%的指数唯一的俄文steeringMatrix = heMUCalculateSteeringMatrix (staFeedback cfgMUMIMO、cfgNDP ruIdx);%指导矩阵应用到俄罗斯cfgMUMIMO.RU {1}。SpatialMapping =“自定义”;cfgMUMIMO.RU {1}。SpatialMappingMatrix = steeringMatrix;

运行仿真MU-MIMO配置。

disp (“模拟MU-MIMO…”);throughputMUMIMO = heMUSimulateScenario (cfgMUMIMO tgax cfgSim);
模拟MU-MIMO……Pathloss 96.0 dB,美联社吞吐量110.5 Mbps Pathloss 99.0 dB,美联社吞吐量110.5 Mbps Pathloss 102.0 dB,美联社吞吐量63.5 Mbps Pathloss 105.0 dB,美联社吞吐量0.0 Mbps

模拟结合MU-MIMO和OFDMA

最后,结合MU-MIMO和OFDMA的场景模拟配置。

指导矩阵计算为每个俄文使用斯塔斯的反馈,包括MU-MIMO俄文。的heMUCalculateSteeringMatrixhelper函数计算波束形成矩阵的俄文CSI的反馈。

%为每个俄文计算矩阵应用指导ruIdx = 1:元素个数(cfgMixed.RU)%计算指导矩阵应用于俄罗斯的反馈steeringMatrix = heMUCalculateSteeringMatrix (staFeedback cfgMixed、cfgNDP ruIdx);%指导矩阵应用于每一个俄文cfgMixed.RU {ruIdx}。SpatialMapping =“自定义”;cfgMixed.RU {ruIdx}。SpatialMappingMatrix = steeringMatrix;结束

运行仿真结合MU-MIMO和OFDMA配置。

disp (“模拟混合MU-MIMO和OFDMA…”);throughputMixed = heMUSimulateScenario (cfgMixed tgax cfgSim);
模拟混合MU-MIMO和OFDMA……Pathloss 96.0 dB,美联社吞吐量66.1 Mbps Pathloss 99.0 dB,美联社吞吐量66.1 Mbps Pathloss 102.0 dB,美联社吞吐量66.1 Mbps Pathloss 105.0 dB,美联社吞吐量47.9 Mbps

阴谋的结果

原始美联社吞吐量为每个传输模式是策划。这个通道实现的结果表明在高信噪比(低pathloss)提供的吞吐量MU-MIMO配置超过OFDMA配置。包MU-MIMO配置时间大约一半的OFDMA配置提供吞吐量增益。随着信噪比降低,噪声占主导地位和发射波束形成OFDMA变得更有效。的性能结合MU-MIMO和OFDMA配置遵循类似的趋势在OFDMA配置在包时间是相同的。由于不同的俄文大小和不同性能的时空流。

%所有斯塔斯和情节的吞吐量总和所有配置图;情节(cfgSim.Pathloss总和(throughputOFDMA, 2),“- x”);持有;情节(cfgSim.Pathloss总和(throughputMUMIMO, 2),“o”);情节(cfgSim.Pathloss总和(throughputMixed, 2),“s”);网格;包含(“Pathloss (dB)”);ylabel (吞吐量(Mbps)的);传奇(“OFDMA”,“MU-MIMO”,“MU-MIMO & OFDMA”);标题(“原始美联社吞吐量”);

附录

这个示例使用这些辅助函数。

选定的参考书目

  1. IEEE Std 802.11 ax™-2021。IEEE标准信息技术——之间的通信和信息交换系统-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-修正案1:高效WLAN的增强。

另请参阅

功能