主要内容

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

此示例显示IEEE®802.11ax的发送和接收处理™ TGax室内衰落信道上的多用户下行链路传输。模拟了三种传输模式:OFDMA、MU-MIMO以及OFDMA和MU-MIMO的组合。

介绍

该示例模拟了接入点(AP)使用IEEE P802.11ax中指定的高效(HE)多用户(MU)格式数据包同时向四个站点(STA)传输数据的场景™/D4.1[1.].

HE多用户格式可以配置为OFDMA传输,MU-MIMO传输,或两者的组合。这种灵活性允许HE-MU分组通过整个频带向单个用户、通过频带不同部分的多个用户(OFDMA)或通过频带相同部分的多个用户(MU-MIMO)进行传输。

对于多用户下行链路场景,比较了三种传输模式:

  1. OFDMA-四个用户中的每一个都被分配一个单独的资源单元(RU),并且传输是波束形成的。

  2. MU-MIMO-所有四个用户共享全频段。

  3. 混合MU-MIMO和OFDMA-两个用户在MU-MIMO配置中共享一个RU,其余两个用户分别分配一个RU。

有关802.11ax格式的详细概述,请参阅802.11ax波形生成和仿真参数化实例

对于每种传输模式,AP发送10个突发包,每个STA解调并解码给它的数据。在AP和STA之间建立了一个带AWGN的TGax室内MIMO信道模型。原始AP吞吐量是用来比较传输模式的度量,通过计算成功发送到所有sta的数据包的数量来计算。对不同的路径损耗进行了重复仿真。在这个例子中,所有的传输都是波束形成的。因此,在模拟数据传输之前,在完美的条件下对AP与各台之间的信道进行探测,以获取信道状态信息。

传输配置

wlanHEMUConfig对象用于配置HE-MU报文的传输。指定三个传输配置对象来定义三种不同的AP传输:

  1. cfgMUMIMO是一种MU-MIMO配置,由一个242音RU和4个用户组成。每个用户有一个空时流。

  2. cfgOFDMA是一种OFDMA配置,由四个52音RU组成,每个RU有一个用户。每个用户有两个空时流。

  3. cfgMixed是一种混合OFDMA和MU-MIMO配置,由两个用户共享的一个106音RU和两个52音RU组成,每个用户有一个用户。MU-MIMO用户各有一个空时流,OFDMA用户各有两个空时流。

20 MHz信道带宽用于所有传输。其他传输参数(如APEPLength和MCS)对于所有配置中的所有用户都是相同的。

首先,定义了MU-MIMO配置。分配索引195定义一个242音RU,MU-MIMO中有四个用户。有关选择分配索引的说明,请参阅802.11ax波形生成和仿真参数化实例

%MU-MIMO配置-一个242音RU上有4个用户cfgMUMIMO=wlanHEMUConfig(195);

分配图显示一个RU分配给所有四个用户。

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定义了4个52音的RUs,每一个服务一个用户。

%OFDMA配置-4个用户,每个用户在52音RU上cfgOFDMA = wlanHEMUConfig (112);

分配图显示了四个RU,每个RU都有一个用户。当将此分配图与全频带MU-MIMO图进行比较时,显然使用的子载波总数(4x52=208个子载波)小于MU-MIMO分配(242个子载波)。子载波数越少,每个OFDMA用户之间就越安全。

显示分配(cfgOFDMA);

现在已配置每个用户的变速箱参数。

%配置所有用户的公共参数cfgOFDMA.NumTransmitAntennas=numTx;cfgOFDMA.GuardInterval=GuardInterval;%配置每用户参数%STA#1(RU#1)cfgOFDMA.User{1}.NumSpaceTimeStreams=2;cfgOFDMA.User{1}.MCS=4;cfgOFDMA.User{1}.APEPLength=1000;% st# 2 (r# 2)cfgOFDMA.User{2}.NumSpaceTimeStreams=2;cfgOFDMA.User{2}.MCS=4;cfgOFDMA.User{2}.APEPLength=1000;%STA#3(RU#3)cfgOFDMA.User{3}.NumSpaceTimeStreams=2;cfgOFDMA.User{3}.MCS=4;cfgOFDMA.User{3}.APEPLength=1000;%STA#4(RU#4)cfgOFDMA.User{4}.NumSpaceTimeStreams=2;cfgOFDMA.User{4}.MCS=4;cfgOFDMA.User{4}.APEPLength=1000;

最后,定义了混合MU-MIMO和OFDMA配置。分配指数25定义一个具有两个用户的106音RU和两个具有一个用户的52音RU。

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

分配图显示了三个RU,一个有2个用户(MU-MIMO),另一个各有一个用户(OFDMA)。

显示分配(cfgMixed);

现在已配置每个用户的变速箱参数。

%配置所有用户的公共参数cfgMixed.NumTransmitAntennas=numTx;cfgMixed.GuardInterval=GuardInterval;%配置每用户参数% RU #1有两个用户(MU-MIMO)和2个STS(每个用户1个)%STA#1(RU#1)cfgMixed.User{1}。NumSpaceTimeStreams = 1;cfgMixed.User{1}。MCS = 4;cfgMixed.User{1}。APEPLength = 1000;% st# 2 (r# 1)cfgMixed.User{2}.NumSpaceTimeStreams=1;cfgMixed.User{2}.MCS=4;cfgMixed.User{2}.APEPLength=1000;%其余两个用户是OFDMA%STA#3(RU#2)cfgMixed.User{3}。NumSpaceTimeStreams = 2;cfgMixed.User{3}。MCS = 4;cfgMixed.User{3}。APEPLength = 1000;%STA#4(RU#3)cfgmix.User{4}.NumSpaceTimeStreams=2;cfgmix.User{4}.MCS=4;cfgmix.User{4}.APEPLength=1000;

信道模型配置

本例中使用TGax室内信道模型。单个信道用于模拟AP和每个用户之间的链路。TGax信道对象,tgaxBase使用与所有用户相关的属性创建。在本例中,延迟配置文件(模型-D)和接收天线的数量对于所有用户都是通用的。当发射器和接收器之间的距离大于或等于10米时,模型-D被视为非视线。这将在中进一步描述wlanTGaxChannel.通道使用固定的种子,以允许重复性。

%为所有用户创建公用通道配置tgaxBase=wlanTGaxChannel;tgaxBase.DelayProfile=“D型”;%延迟概要tgaxBase.NumTransmitAntennas=numTx;%发射天线的数量tgaxBase.numreceiveantens=2;%每个用户有两个接收天线tgaxBase.TransmitReceiveDistance=10;%非视线距离tgaxBase.ChannelBandwidth=cfgMUMIMO.ChannelBandwidth;tgaxBase.SampleRate=wlanSampleRate(cfgMUMIMO);%为频道设置固定种子tgaxBase。RandomStream =“带种子的mt19937ar”tgaxBase.Seed=5;

接下来为每个用户创建一个频道。每个用户的频道是tgaxBase,但有一个独特的UserIndex属性,并存储在单元格数组中tgax这个UserIndex属性设置为为每个用户提供一个唯一的通道。结果通道用于模拟,如下所示。

%单元数组存储通道对象,每个用户一个numUsers=numel(cfgMixed.User);%本例中模拟的用户数tgax=细胞(1,微乳);%生成每用户通道对于userIdx=1:numUsers tgax{userIdx}=clone(tgaxBase);tgax{userIdx}.UserIndex=userIdx;%设置唯一的用户索引终止

波束形成反馈

OFDMA和MU-MIMO的发送波束形成都依赖于在波束形成器上发射机和接收机之间的信道状态的知识。每个STA通过信道探测提供对每子载波信道状态的反馈。AP发送一个NDP (null data packet),每个STA使用这个NDP (null data packet)来判断通道状态。然后将通道状态反馈给AP802.11ac发射波束形成802.11ac多用户MIMO预编码示例,但使用了HE单用户NDP数据包而不是VHT数据包。在本示例中,反馈被认为是完美的;信道探测不存在噪声,且反馈未压缩信息反馈helper函数检测NDP,并使用信道估计来确定信道状态信息。然后利用奇异值分解(SVD)计算波束形成反馈。

%使用要生成的时空流的正确数量创建一个NDP%足够的LTF符号cfgNDP=wlanHESUConfig(“APEPLength”,0,“GuardInterval”, 0.8);% NDP中没有数据cfgNDP.ChannelBandwidth=tgaxBase.ChannelBandwidth;cfgNDP.numtransmitantenas=cfgMUMIMO.numtransmitantenas;cfgNDP.NumSpaceTimeStreams=cfgMUMIMO.numtransmitantenas;%生成NDP数据包-将空PSDU作为无数据txNDP=wlanWaveformGenerator([],cfgNDP);%对于每个用户STA,通过信道传递NDP分组并计算%利用奇异值分解(SVD)得到反馈通道状态矩阵。staFeedback =细胞(1、numUsers);对于userIdx=1:numel(tgax)%在用户STA接收到的波形有50个样本填充。无噪声。rx=tgax{userIdx}([txNDP;零(50,大小(txNDP,2)));%为用户获取全波段波束形成反馈statfeedback{userIdx}=heuserbeamingfeedback(rx,cfgNDP);终止

模拟参数

本例中模拟了不同的路径损耗。对所有用户应用相同的路径损耗和噪声下限。对于每个模拟的路径损耗,10个数据包通过信道。数据包之间的间隔为20微秒。

cfgSim =结构;cfgSim。NumPackets = 10;%为每个路径丢失模拟的数据包数cfgSim。Pathloss = (96:3:105);在dB中模拟的路径损耗cfgSim.TransmitPower=30;%以dBm为单位的AP发射功率cfgSim.NoiseFloor=-89.9;%以dBm为单位的STA噪声地板cfgSim.IdleTime=20;%在美国,数据包之间的空闲时间

OFDMA仿真

该场景首先使用OFDMA配置和发送波束形成进行模拟。

使用来自STA的反馈计算每个RU的转向矩阵铁杉辅助函数计算给定CSI反馈的RU的波束形成矩阵。

%对于每个RU,计算要应用的转向矩阵对于ruIdx=1:numel(cfgOFDMA.RU)%计算转向矩阵以应用于给定反馈的RUsteeringMatrix=HemucalculatesteringMatrix(Stateffeedback、cfgOFDMA、cfgNDP、ruIdx);%对每个RU应用转向矩阵cfgOFDMA.RU{ruIdx}.空间映射=“自定义”; cfgOFDMA.RU{ruIdx}.SpatialMappingMatrix=steeringMatrix;终止

这个血吸虫助手功能执行模拟。802.11ax的前置前导码与802.11ac向后兼容,因此在此示例中,VHT波形的前端同步组件用于同步每个STA处的HE波形。对于模拟的每个数据包和路径损耗,发生以下处理步骤:

  1. PSDU被创建和编码以创建单个数据包波形。

  2. 波形通过演变的TGax信道模型,AWGN被添加到接收波形中。通道状态在数据包之间保持。

  3. 检测到数据包。

  4. 估计并校正粗略载波频率偏移。

  5. 建立了精细定时同步。

  6. 估计并校正精细载波频率偏移。

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

  8. 从同步接收波形中提取HE数据场并进行OFDM解调。

  9. 共导频相位跟踪用于跟踪任何剩余载波频率偏移。

  10. 相位校正的OFDM符号与信道估计进行均衡。

  11. 使用解调的数据场导频和导频子载波处的单流信道估计来执行噪声估计。

  12. 均衡符号被解调和解码以恢复PSDU。

  13. 将恢复的PSDU与发送的PSDU进行比较,以确定分组是否已成功恢复。

仿真针对OFDMA配置运行。

disp(“模拟OFDMA…”); throughputOFDMA=血液相容性(cfgOFDMA、tgax、cfgSim);
模拟OFDMA……Pathloss 96.0 dB, AP throughput 66.1 Mbps Pathloss 99.0 dB, AP throughput 66.1 Mbps Pathloss 102.0 dB, AP throughput 49.6 Mbps Pathloss 105.0 dB, AP throughput 16.5 Mbps

MU-MIMO仿真

现在,使用MU-MIMO配置模拟场景铁杉辅助函数为MU-MIMO分配中的所有用户计算给定CSI反馈的RU的波束形成矩阵。使用迫零解决方案计算辅助函数内的转向矩阵。

%计算转向矩阵以应用于给定反馈的RUruIdx=1;%唯一RU的索引steeringMatrix=HemucalculatesteringMatrix(Stateffeedback、cfgMUMIMO、cfgNDP、ruIdx);%将转向矩阵应用于RUcfgMUMIMO.RU{1}.SpatialMapping=“自定义”cfgMUMIMO.RU{1}.SpatialMappingMatrix=steeringMatrix;

运行MU-MIMO配置的模拟。

disp(“模拟MU-MIMO…”);throughputMUMIMO=血液相容性(cfgMUMIMO、tgax、cfgSim);
模拟MU-MIMO。。。路径损耗96.0 dB,AP吞吐量110.5 Mbps路径损耗99.0 dB,AP吞吐量110.5 Mbps路径损耗102.0 dB,AP吞吐量71.8 Mbps路径损耗105.0 dB,AP吞吐量0.0 Mbps

MU-MIMO和OFDMA相结合的仿真

最后,结合MU-MIMO和OFDMA配置对该场景进行了仿真。

每个RU的转向矩阵使用sta的反馈计算,包括MU-MIMO RU。这个铁杉辅助函数计算给定CSI反馈的RU的波束形成矩阵。

%为每个RU计算转向矩阵应用对于ruIdx=1:numel(cfgMixed.RU)%计算转向矩阵以应用于给定反馈的RUsteeringMatrix=HemucalculatesteringMatrix(统计反馈、cfgMixed、cfgNDP、ruIdx);%对每个RU应用转向矩阵cfgMixed.RU {ruIdx}。SpatialMapping =“自定义”;cfgMixed.RU{ruIdx}.SpatialMappingMatrix=steeringMatrix;终止

针对组合的MU-MIMO和OFDMA配置运行仿真。

disp(“模拟混合MU-MIMO和OFDMA……”); throughputMixed=heMUSimulateScenario(cfgMixed、tgax、cfgSim);
模拟混合MU-MIMO和OFDMA…路径损耗96.0 dB,AP吞吐量66.1 Mbps路径损耗99.0 dB,AP吞吐量66.1 Mbps路径损耗102.0 dB,AP吞吐量66.1 Mbps路径损耗105.0 dB,AP吞吐量47.9 Mbps

绘图结果

绘制了每种传输模式的原始AP吞吐量图。结果显示,在高SNR(低路径损耗)下实现此信道MU-MIMO配置提供的吞吐量超过OFDMA配置。MU-MIMO配置的数据包持续时间约为提供吞吐量增益的OFDMA配置的一半。随着信噪比的降低,噪声占主导地位,使用OFDMA的发射波束形成变得更加有效。组合的MU-MIMO和OFDMA配置遵循与OFDMA配置相似的趋势,因为数据包持续时间相同。性能因RU大小和空时流数量不同而不同。

%所有STA的总吞吐量和所有配置的绘图图形绘图(cfgSim.Pathloss,总和(通过普托夫德马,2),“-x”);持有在…上;绘图(cfgSim.Pathloss,总和(通过putmumimo,2),“o”); 绘图(cfgSim.Pathloss,总和(throughputMixed,2),“s”);网格在…上;xlabel(“路径损耗(dB)”); 伊拉贝尔(吞吐量(Mbps)的);传奇(“OFDMA”,“MU-MIMO”,“MU-MIMO & OFDMA”);头衔(“原始AP吞吐量”);

附录

本例使用这些辅助函数。

选定的参考书目

  1. IEEE P802.11ax™/D4.1信息技术标准草案-系统间电信和信息交换-局域网和城域网-特定要求-第11部分:无线LAN介质访问控制(MAC)和物理层(PHY)规范-修改件6:高效WLAN增强。