此示例显示如何参数化和生成不同的IEEE®802.11AX™高效率(HE)格式数据包。
IEEE P802.11ax / D4.1 [1]指定四个高效率(HE)数据包格式:
单用户
扩展范围单用户
多用户
触发基础
此示例显示如何为这些不同格式生成数据包,并演示草稿标准的一些关键功能[1]。
SU (HE single-user)报文是对单个用户的全频带传输。HE SU格式的发送参数是通过awlanHESUConfig
对象。的wlanHESUConfig
对象可以配置为在扩展范围模式下操作。要启用或禁用此模式,请设置ExtendedRange
财产真正的
或错误的
.在此示例中,我们为HE SU传输和配置传输属性创建一个配置。
cfgSU = wlanHESUConfig;cfgSU。ExtendedRange = false;%不使用扩展范围格式cfgSU。ChannelBandwidth ='CBW20';% 信道带宽cfgsu.apeplength = 1000;%有效载荷长度以字节为单位cfgsu.mcs = 0;%调制和编码方案cfgsu.channelcoding ='LDPC';%信道编码cfgSU。NumSpaceTimeStreams = 1;%时空流的个数cfgSU。NumTransmitAntennas = 1;百分比的发射天线数量
可以用波形发生器产生单用户数据包,WlanWaveFormGenerator.
.的getPsDulength()
方法返回给定传输配置的所需PSDU长度。此长度用于创建用于传输的随机PSDU。
psdu = randi([0 1],getPSDULength(cfgSU)*8,1,“int8”);%随机PSDUtxsuwaveform = wlanwaveformgenerator(psdu,cfgsu);%创建数据包
扩展范围的单用户数据包具有与标准单用户格式相同的字段,但有些字段的权力已提升,并重复某些字段以提高低SNR的性能。可以使用扩展范围数据包使用a配置wlanHESUConfig
对象与信道带宽
调成'CBW20'
和ExtendedRange
调成真正的
.一个扩展范围包有一个选项,在20兆赫信道内,只能在较高的106音资源单元(RU)中传输,或超过整个带宽。可以配置Upper106ToneRU
属性:
cfgExtSU = cfgSU;cfgExtSU。ExtendedRange = true;%启用扩展范围格式cfgextsu.upper106toneru = true;%仅限于Upper 106-TONE RU%生成数据包psdu = randi([0 1],getPSDULength(cfgExtSU)*8,1,“int8”);%随机PSDUtxextsuwaveform = wlanwaveformgenerator(psdu,cfgextsu);%创建数据包
看看产生的信号的频谱和谱图。在频谱图中,您可以看到包头使用可用带宽,然而,数据部分只占用通道的上半部分。
fs = wlanSampleRate (cfgExtSU);%获得基带采样率Ofdminfo = wlanheofdminfo(“数据”, cfgExtSU);fftsize = ofdmInfo.FFTLength;%使用数据字段fft大小rbw = fs / fftsize;%resolaton带宽Spectrumanalyzer = DSP.SpectRumanalyzer('采样率',fs,......'方法','过滤银行','rbwsource','财产',“RBW”rbw,......'allagesmethod','指数',“ForgettingFactor”,0.25,......'refernplotrate'假的,'ylimits',[ - 50,20],......“标题”,“他的延伸范围苏有活跃的鞋面106-tone ru');spectrumanalyzer.viewtype =.'频谱和谱图';spectrumanalyzer.timespansource =.'财产';简介。时间间隔= (txExtSUWaveform) / fs长度;简介(txExtSUWaveform)
如果你比较L-STF和L-LTF的功率,你可以看到扩展范围的传输提高了3 dB。
图;IND = WLANFIELDINDIDICES(CFGEXTSU);T =(0 :( IND.LLTF(2)-1))/ FS * 1E6;绘图(t,20 * log10(movmean(abs(txsuwaveform(1:Ind.lltf(2))),20)),'-b')举行在;情节(t, 20 * log10 (movmean (abs (txExtSUWaveform (1: ind.LLTF (2))), 20)),'-R') 网格在;标题('L-STF和L-LTF的力量(1 US移动普通)');包含('时间(美国)');ylabel (的功率(瓦分贝));传奇('他苏','他扩展范围苏',“位置”,'西南');
他多用户(HU MU)格式可以配置用于OFDMA传输,MU-MIMO传输或两者的组合。这种灵活性允许HE MU数据包通过整个频段向单个用户发送到一个用户在频带(OFDMA)的不同部分上的多个用户,或者在频带(MU-MIMO)的同一部分上方的多个用户。
对于OFDMA传输,信道带宽划分为资源单位(RUs)。RU是一组分配给一个或多个用户的子载波。RU由大小(子载波的数量)和一个索引来定义。RU索引指定了RU在通道中的位置。例如,在一个80 MHz的传输中,有4个可能的242音调RUs,每个20 MHz子信道中有一个。RU# 242-1(尺寸242,索引1)是RU在80 MHz内占据最低绝对频率,而RU# 242-4(尺寸242,索引4)是RU占据最高绝对频率。标准草案定义了RUs可能的大小和位置,见[1]。
传输中的RUS分配由分配索引定义。分配索引在[中的表28-24中1]。对于每个20 MHz子信道,8位索引描述了RU的数量和大小,以及在每个RU上传输的用户数。分配索引还确定用于在HE-SIG-B中发出用户的内容频道。表28-24中的分配指数以及该函数返回的表中提供了相应的RU分配heRUAllocationTable
.表中的前10个分配如下所示。对于每个分配索引,显示8位分配索引,显示用户数,RU的数量,RU指数,ru大小和每个RU的用户数。还提供了一个关于保留的分配的注释,或提供特殊目的。还可以在分配表中查看附录.
allocationtable = heruallocationtable;DISP('分配表中的前10个条目:':) disp (allocationTable (1:10));
分配表的前10项:分配BitAllocation NumUsers NumRUs RUIndices RUSizes NumUsersPerRU注意 __________ _____________ ________ ______ ____________ ____________ _____________ ____ 0“00000000”9 9 {1 x9双}{1 x9双}{1 x9双}”“1“00000001”8 8{1×8双}{1×8双}{1×8双}”“2“00000010”8 8{1×8双}{1×8双}{1×8双}”“3“00000011”7 7 {1 x7双}{1 x7双}{1 x7双}”“4“00000100”8 8{1×8双}{1×8双}{1×8双}”5“00000101”7 7 {1 x7双}{1 x7双}{1 x7双}”“6“00000110”7 7 {1 x7双}{1 x7双}{1 x7双}”“7“00000111”6 6 {1 x6双}{1 x6双}{1 x6双}”“8“00001000”8 8{1×8双}{1×8双}{1×8双}"" 9 "00001001" 7 7 {1x7双}{1x7双}{1x7双}""
一个Wlanhemuconfig
对象用于配置HE MU数据包的传输。创建HU MU配置对象时,必须提供每个20 MHz子信道的分配索引,Wlanhemuconfig
.在0和223之间的整数,对应于[中的表28-24中的8位数1]必须为每个20 MHz子信道提供。
分配索引可以作为十进制或8位二进制序列提供。在此示例中,使用8位分配索引“10000000”创建20MHz HE MU配置。这相当于十进制分配索引128.此配置指定3个RU,每个都与一个用户相同。
AllocationIndex =“10000000”;%3 rus,每个ru的1个用户cfgmu = wlanhemuconfig(AllocationIndex);
的展示
可视化指定配置所占用的RUs和子运营商。彩色块说明了包的前HE和HE部分中被占用的子载波。白色表示子载波未被占用。前he部分说明了在HE-STF之前的领域中被占领的子载波。HE部分说明了在HE- stf, HE- ltf和HE- data领域中被占用的子载波,因此显示了RU分配。点击一个RU将显示有关该RU的信息。RU号对应的第i个RU元素cfgMU。俄文
财产。大小和索引是ru的细节。ru索引是信道带宽内相应的ru大小的第i个可能的ru,例如索引2是20MHz信道带宽内的第二可能的106色调RU。用户号码对应于第i个用户元素cfgMU。用户
属性,He-Sig-B中的用户字段。注意中间ru(Ru#2)跨越DC子载波拆分。
展示(CFGMU);AxAlloc = GCA;%获取后续绘图的轴句柄
的Ruinfo.
方法提供配置中rus的详细信息。在这种情况下,我们可以看到三个用户和三个rus。
Allocinfo = Ruinfo(CFGMU);DISP(的配置信息:)DISP(ALLOCINFO)
NumUsersPerRU: [1 1 1 1] NumSpaceTimeStreamsPerRU: [1 1 1] PowerBoostFactorPerRU: [1 1 1] RUNumbers: [1 2 3]
属性cfgmu.
描述传输配置。的cfgMU。俄文
和cfgMU。用户
的属性cfgmu.
是细胞阵列。单元阵列的每个元素包含配置RU或用户的对象。当。。。的时候cfgmu.
对象是创建的,元素cfgMU。俄文
和cfgMU。用户
配置为创建所需的RUS和用户数。每个元素cfgMU。俄文
是A.wlanHEMURU
描述ru配置的对象。同样,每个元素cfgMU。用户
是A.wlanhemuuser.
描述用户的配置。这个对象层次结构如下所示:
因此,在本例中,由分配索引128指定三个RUscfgMU。俄文
是具有三个元素的单元阵列。每个ru的索引和大小根据用于创建的分配索引配置cfgmu.
.创建对象后,可以通过设置适当的RU对象的属性,对每个RU进行配置,以创建所需的传输配置。例如,空间映射和功率提升因子可以配置每个RU。的大小
和指数
创建对象后,每个ru的属性是固定的,因此是只读属性。同样,UserNumbers
属性是只读的,表示在RU上传输的是哪个用户。对于这个配置,第一个RU大小为106,索引为1。
DISP(的第一个俄文配置:) disp (cfgMU.RU {1})
First Ru配置:Wlanhemuru具有属性:PowerBoostFactor:1 SpatialMapping:'Direct'只读属性:尺寸:106索引:1 Usernumbers:1
在此示例中,分配索引指定传输中的三个用户,因此cfgMU。用户
包含三个元素。可以通过修改单独的用户对象,例如MCS,APEP长度和信道编码方案来配置用户的传输属性。只读的润帘
属性表示哪个ru用于传输此用户。
DISP(的第一个用户配置:) disp (cfgMU.User {1})
第一个用户配置:wlanHEMUUser与属性:APEPLength: 100 MCS: 0 NumSpaceTimeStreams: 1 DCM: 0 ChannelCoding: 'LDPC' STAID: 0 NominalPacketPadding: 0 PostFECPaddingSource: 'mt19937ar with seed' PostFECPaddingSeed: 1只读属性:RUNumber: 1
每个RU的用户数量和向RU的映射由分配索引决定。的UserNumbers
ru对象的属性表示哪些用户(其中的元素)cfgMU。用户
在该RU上传输单元阵列)。同样,润帘
每个用户对象的属性,表示哪个ru(元素)cfgMU。俄文
单元格数组)用于传输用户:
这允许一个RU的属性与一个用户很容易访问:
ruNum = cfgMU.User {2} .RUNumber;%获取与用户2关联的ru编号disp (cfgMU.RU {ruNum} .SpatialMapping);%显示空间映射
直接
当ru在mu-mimo配置中为多个用户提供服务时,UserNumbers
属性可以索引多个用户:
一旦cfgmu.
对象创建后,传输参数可如下图所示设置。
%配置ru 1和用户1cfgMU.RU{1}。SpatialMapping ='直接的';cfgmu.user {1} .apeplthength = 1e3;cfgmu.user {1} .mcs = 2;cfgmu.user {1} .numspacetimestreams = 4;cfgmu.user {1} .channelcoding ='LDPC';%配置ru 2和用户2cfgmu.ru {2} .spatialmapping ='傅里叶';cfgmu.user {2} .apeplength = 500;cfgmu.user {2} .mcs = 3;cfgmu.user {2} .numspacetimestreams = 2;cfgmu.user {2} .channelcoding ='LDPC';%configure ru 3和用户3cfgmu.ru {3} .spatialmapping ='傅里叶';cfgmu.user {3} .apeplength = 100;cfgmu.user {3} .mcs = 4;cfgmu.user {3} .dcm = true;cfgmu.user {3} .numspacetimestreams = 1;cfgmu.user {3} .channelcoding ='贝卡';
在HE MU传输中,有些传输参数对所有用户都是通用的。
%为所有用户配置公共参数cfgmu.numtransmitantennas = 4;cfgmu.sigbmcs = 2;
为了生成HE MU波形,我们首先为每个用户创建一个随机的PSDU。使用单元数组存储每个用户的PSDU,因为PSDU的长度不同。的getPsDulength()
方法返回一个向量,其中包含给定配置的每个用户所需的PSDU。然后,波形发生器被用来创建一个包。
psduLength = getPSDULength (cfgMU);psdu =细胞(1、allocInfo.NumUsers);为了i = 1:Allocinfo.Numusers PSDU {i} = RANDI([0 1],PSDULHED(i)* 8,1,“int8”);%生成随机psdu结尾创建MU数据包txMUWaveform = wlanWaveformGenerator (psdu cfgMU);
要配置具有大于20 MHz的信道带宽的OFDMA传输,必须为每个20 MHz子信道提供分配索引。例如,要配置80 MHz的OFDMA传输,需要四个分配索引。在此示例中,配置了四个242-色调rus。分配指数192.
指定一个242-tone RU,在一个20mhz子信道中有一个用户,因此分配索引[192 192 192 192 192]
用于创建其中的四个rus,超过80 MHz:
%在表中显示192个分配索引属性(第193行)DISP('分配#192表条目:')DISP(分配(193,:))%创建80 MHz MU配置,有四个242色调cfgMU80MHz = wlanHEMUConfig([192 192 192 192]);
分配#192表条目:分配比特分配NUMUSERS NumRUs RUIndices RUSIZES NumUsersPerRU注__________ _____________ ________ ______ _________ _______ _____________ ____ 192 “11000000” 1 1 {[1]} {[242]} {[1]} “”
当指定多个20mhz子信道时,则信道带宽
属性设置为适当的值。对于这个配置,它被设置为'CBW80'
指定了四个20 MHz子信道。这在分配绘图中也可见。
DISP('他分配的频道带宽:')DISP(CFGMU80MHZ.CHANNELBANDWIDTH)展示(CFGMU80MHZ,AXALLOC)
HE MU分配的通道带宽:CBW80
一个HE MU包也可以使用MU- mimo将RU传输给多个用户。对于全频带MU-MIMO分配,192 ~ 199之间的分配索引配置全频带20mhz分配(242 tone RU)。这个范围内的索引决定了配置了多少用户。可以在分配表中查看分配细节。注意麻木
表中的列随索引增长,但numrus
始终1.分配表也可以在其中看附录.
DISP('分配#192-199表条目:')DISP(分配(193:200,:))%索引192-199(行193到200)
拨出#192-199“2 1 {[1]} {[2]} {[2]}”“194”11000010“3 1 {[1]} {[242] {[3]} {[3]}”“195”11000011“4 1 {[1]} {[4]} {[4]}“”196“11000100”5 1 {[1]} {[22]} {[5]} {[5]} {[5]}“”197“11000101”6 1 {[1]}{[242]} {[6]}“”198“11000110”7 1 {[1]} {[242]} {[7]} {[7]}“199”11000111“8 1 {[1]} {[242]{[8]}“”
分配指数193.
将20 MHz 242-TONE ru传输到两个用户。在该示例中,我们将创建具有随机空间映射矩阵的传输,该映射矩阵将每个用户映射到两个发射天线的单个时空流。
%在20 MHz通道中配置2个用户cfgmumimo = wlanhemuconfig(193);%设置每个用户的传输属性cfgMUMIMO.User{1}。APEPLength = 100;%字节cfgmumimo.user {1} .mcs = 2;cfgmumimo.user {1} .channelcoding ='LDPC';cfgmumimo.user {1} .numspacetimestreams = 1;cfgmumimo.user {2} .apeplength = 1000;%字节cfgMUMIMO.User{2}。MCS = 6;cfgMUMIMO.User{2}。ChannelCoding ='LDPC';cfgMUMIMO.User{2}。NumSpaceTimeStreams = 1;%获取RU中被占领的子航母数量ruindex = 1;%获取第一个(也是唯一一个)RU的信息Ofdminfo = wlanheofdminfo(“数据”、cfgMUMIMO ruIndex);numST = ofdmInfo.NumTones;占用子载波的%数量%设置发射天线的数量并生成随机空间映射%的矩阵numtx = 2;Allocinfo = Ruinfo(CFGMumimo);numsts = Allocinfo.numspacetImestreamSperru(Ruindex);cfgmumimo.numtransmitantennas = numtx;cfgmumimo.ru {ruindex} .spatialmapping =“自定义”;cfgMUMIMO.RU {ruIndex}。SpatialMappingMatrix =兰德(numST numSTS numTx);%创建一个重复位序列的数据包作为PSDUtxmumimo波形= wlanWaveformGenerator([1 0 1 0],cfgMUMIMO);
通过在200-223范围内创建时,通过在200-223范围内提供单个ru分配索引来创建具有大于20 MHz的通道带宽的全带MU-MIMO传输。Wlanhemuconfig
对象。对于这些分配,使用HE-SIG-B压缩。
200到207之间的分配指数配置全带MU-MIMO 40 MHz分配(484-TONE RU)。这个范围内的索引决定了配置了多少用户。可以在分配表中查看分配细节。注意麻木
表中的列随索引增长,但numrus
总是1。
DISP(分配#200-207表项:)DISP(分配(201:208,:))%索引200-207(第201行至208行)
分配#200-207表条目:分配比特拉密解码器Numrus Ruindices禁止NumUsersPerru注释__________ _________________________________________________________________________________________________________________________________________________________“2 1 {[1]} {[2]} {[2]}”“202”11001010“3 1 {[1]} {[484] {[3]} {[3]}”“203”11001011“4 1 {[1]} {[484]“204”11001100“5 1 {[1]} {[484] {[5]} {[5]}”“205”11001101“6 1 {[1]}{[484]} {[6]}“”206“11001110”7 1 {[1]} {[484] {[7]}“”207“11001111”8 1 {[1]} {[484]{[8]}“”
类似地,208和215之间的分配指数配置全带MU-MIMO 80 MHz分配(996-TONE RU),并且216和223之间的分配指数配置全带MU-MIMO 160 MHz分配(2×996音调RU)。
作为示例,分配索引203
指定484音RU, 4个用户:
cfg484MU = wlanHEMUConfig (203);showAllocation (cfg484MU axAlloc)
对于具有大于20MHz的信道带宽的HE MU传输,两个HE-SIG-B内容通道用于发信号通知用户配置。这些内容信道在每个40 MHz子信道上复制,以进行更大的通道带宽,如[的情况)([)第27.3.10.8.3节中所述1]。当ru大小大于242作为OFDMA系统的一部分时,可以在两个HE-SIG-B内容信道中发出分配给RU的用户。创建时提供的分配索引Wlanhemuconfig
对象控制每个用户被通知的内容通道。中的分配表附录显示相关配置指标。
以7个用户80mhz为例:
1个484音RU (RU #1)和4个用户(用户#1-4)
一个242-色调ru(ru#2)与一个用户(用户#5)
两个106音rus(ru#3和#4),每个有一个用户(用户#6和#7)
为了配置一个80 MHz OFDMA传输,需要四个分配指数,每个20 MHz子信道需要一个分配指数。为配置上述场景,使用以下分配指数:
[x y 192 96]
X
和Y
使用用户#1-4配置484-tone ru。可能的价值X
和Y
在下面讨论。
192.
使用一个用户,用户#5配置242色调ru。
96.
用信号,每个用户,用户#6和#7发出信号两个106音rus。
选择X
和Y
在242音RU中配置适当的用户数,确定使用哪个HE-SIG-B内容通道与用户通信。一个484-tone RU跨越两个20mhz子信道,因此需要两个分配索引。来自4个RU的所有7个用户都将在HE-SIG-B内容通道上发送信号,但目前我们只考虑484音RU上的用户的信号。对于484音RU,四个用户可以在两个HE-SIG-B内容通道上以不同的组合发出信号,如表1所示。
分配索引200 ~ 207为484音RU上的1 ~ 8个用户。如果内容通道上没有用户,则分配索引114
或115
可以使用,为448音或996音RU。因此,可以使用表2所示的两个分配索引来定义表1中的组合。表2中每一行的两个分配索引是X
和Y
.
因此,要配置“组合E”,使用以下80 MHz分配索引:
[114 203 192 96]
114
和203
使用用户#1-4配置484-tone ru。
192.
使用一个用户,用户#5配置242色调ru。
96.
用信号,每个用户,用户#6和#7发出信号两个106音rus。
cfg484ofdma = wlanhemuconfig([114 203 192 96]);展示(CFG484OFDMA,AXALLOC);
要查看He-Sig-B分配信令,请使用heplothesigballocationmappping
功能。这显示了在每个HE-SIG-B内容频道上发出的用户字段,以及哪个RU和用户Wlanhemuconfig
对象,每个用户字段信号。在这种情况下,我们可以看到Ru#1,3和4上的用户全部在内容信道2上发出信号,并且Ru#2的用户在内容信道1上发出信号。第二内容信道信号六个用户,而第一内容频道仅发信号一个用户。因此,第一内容信道将填充到第二用于传输的第二长度。在该图中,RU分配信息以索引大小提供,例如,提供索引尺寸。ru8-106是第8个106号茹。
图;hePlotHESIGBAllocationMapping (cfg484OFDMA);甘氨胆酸axSIGB =;%获取后续绘图的轴句柄
为了在HE-SIG-B中平衡用户字段信令,我们可以在为484-tod RU创建分配索引时使用表2中的“组合B”。这导致两个用户在HE-SIG-B的每个内容频道上发出信号,创建更好的用户字段平衡,并且在传输中可能更少的HE-SIG-B符号。
cfg484ofdmabbalanced = wlanHEMUConfig([201 201 96 192]);hePlotHESIGBAllocationMapping (cfg484OFDMABalanced axSIGB);
在80mhz传输中,当一个全频带RU不被使用时,中央26音RU可以选择性激活。中央的26音RU在创建时使用名称-值对使能Wlanhemuconfig
对象。
%创建一个没有中央26-tone ru的配置cfgnocentral = wlanhemuconfig([192 192 192 192],“LowerCenter26ToneRU”,错误的);展示(CFGnocentral,Axalloc);%创建一个中央26音RU配置cfgCentral = wlanHEMUConfig([192 192 192 192],“LowerCenter26ToneRU”,真正的);展示(CFGCentral,Axalloc);
类似地,对于一个160mhz的传输,在每个80mhz段的中央26音RU可以任选使用。每个中心26音RU可以使用名称-值对创建Wlanhemuconfig
对象。在该示例中,仅创建上部中央26-tod Ru。使用分配索引指定有四个242色调RUS,每个用户都指定了一个用户[200 114 114 200200 20014 114 200]
.
CFGCentral160MHz = WLANHEMUCONFIG([200 114 114 200 200 114 114 200],'UpperCenter26toneru',真正的);disp (cfgCentral160MHz)
Wlanhemuconfig具有属性:ru:{1x5 Cell}用户:{1x5 Cell} NumTransmitantannas-Only属性:ChannelBandWidth:'CBW160'AllocationIndex:[2001 114 114 200 200 114 114 200] LowerCenter26toneru:0 UpperCenter26toneru:1
在80MHz或160 MHz的变速器中,可以刺破20 MHz子通道,以允许传统系统在刺破的通道中运行。该方法也被描述为信道键合。null a 20 mhz子信道20 MHz子信道分配索引113
可以使用。插入的20mhz子通道可以用展示
方法。
160 MHz配置中的%Null第二最低20 MHz子信道cfgNull = wlanHEMUConfig([192 113 114 200 208 115 115 115]);%绘制分配showAllocation (cfgNull axAlloc);
所产生的波形和频谱分析仪也可以查看被击穿的20兆赫兹。
%在所有rus中设置每个用户的传输属性cfgNull.User{1}。一个PEPLength = 100; cfgNull.User{1}.MCS = 2; cfgNull.User{1}.ChannelCoding ='LDPC';cfgnull.user {1} .numspacetimestreams = 1;cfgnull.user {2} .apeplength = 1000;cfgnull.user {2} .mcs = 6;cfgnull.user {2} .channelcoding ='LDPC';cfgNull.User{2}。NumSpaceTimeStreams = 1;cfgNull.User{3}。一个PEPLength = 100; cfgNull.User{3}.MCS = 1; cfgNull.User{3}.ChannelCoding ='LDPC';cfgNull.User{3}。NumSpaceTimeStreams = 1;%创建数据包txnull波形= wlanWaveformGenerator([1 0 1 0],cfgNull);%可视化信号频谱FS = WLANSAMPLEDE(CFGNULL);Ofdminfo = wlanheofdminfo(“数据”cfgNull 1);fftsize = ofdmInfo.FFTLength;Spectrumanalyzer = DSP.SpectRumanalyzer('采样率',fs,......'allagesmethod','指数',“ForgettingFactor”,0.99,......'rbwsource','财产',“RBW”,fs / fftsize,......“标题”,“160兆赫HE MU传输与刺穿20兆赫通道”);简介(txNullWaveform);
他触发的(TB)格式允许在上行链路中进行OFDMA或MU-MIMO传输。当由接入点(AP)触发时,每个站(STA)同时发送TB分组。TB传输完全由AP控制。传输所需的所有参数都以触发器帧提供给参与TB传输的所有STA。在该示例中,配置了响应于在OFDMA / MU-MIMO系统中的三个用户的触发帧的TB传输;三个STA将同时传输到AP。
20 MHz分配97.
使用对应于两个RU的,其中一个是MU-MIMO中的两个用户。
DISP('分配#97表条目:')DISP(分配(98,:))%索引97(第98行)
分配# 97表条目:分配BitAllocation NumUsers NumRUs RUIndices RUSizes NumUsersPerRU注意 __________ _____________ ________ ______ ____________ ____________ _____________ ____ 97年“01100001”3 2 {1 x2双}{1 x2双}{1 x2双}"
通过创建MU配置来获得分配信息Wlanhemuconfig
.
%生成OFDMA分配cfgMU = wlanHEMUConfig (97);allocationInfo = ruInfo (cfgMU);
在TB传输中,对于传输中的所有用户,多个参数是相同的。其中一些如下所示:
对于OFDMA系统中的所有用户,%这些参数是相同的trgmethod ='triggerframe';%方法用于触发他tb ppduChannetBandWidth = CFGMU.ChannelBandWidth;OFDMA系统的%带宽lsiglength = 142;%l-sig长度preFECPaddingFactor = 2;%前FEC填充因子ldpcExtraSymbol = false;%LDPC额外符号numHELTFSymbols = 2;%HE-LTF符号数量
系统内的单个用户的TB传输配置为配置wlanhetbconfig
对象。在本例中,创建了一个由三个对象组成的单元格数组来描述三个用户的传输。
%为每个用户创建触发器配置numUsers = allocationInfo.NumUsers;cfgTriggerUser = repmat ({wlanHETBConfig} 1 numUsers);
为每个用户设置非默认的系统范围属性。
为了userIdx = 1:numUsers cfgTriggerUser{userIdx}。TriggerMethod = trgMethod;cfgTriggerUser {userIdx}。ChannelBandwidth =channelBandwidth; cfgTriggerUser{userIdx}.LSIGLength = lsigLength; cfgTriggerUser{userIdx}.PreFECPaddingFactor = preFECPaddingFactor; cfgTriggerUser{userIdx}.LDPCExtraSymbol = ldpcExtraSymbol; cfgTriggerUser{userIdx}.NumHELTFSymbols = numHELTFSymbols;结尾
接下来,设置每个用户属性。当多个用户在同一RU中传输时,在MU-MIMO配置中,每个用户必须在不同的时空流指标上传输。属性startingspacetimestream
和numspacetimestreamsteams.
必须为每个用户设置,以确保使用不同的时空流。因此,在本例中,用户1和2使用的是MU-MIMO配置startingspacetimestream
对于用户两个设置为2
,用户1被配置为发送1个时空流StartingSpaceTimeStream = 1
.
%这些参数是为第一个用户RU#1 MU-MIMO用户1cfgTriggerUser {1} .rusize = AllocationInfo.rusize(1);cfgtriggeruser {1} .ruindex = AllocationInfo.Ruindices(1);cfgtriggeruser {1} .mcs = 4;%调制和编码方案cfgTriggerUser{1}。NumSpaceTimeStreams = 1;%时空流的个数cfgtriggeruser {1} .numtransmitantennas = 1;百分比的发射天线数量cfgTriggerUser{1}。StartingSpaceTimeStream = 1;%时空流的起始索引CFGTriggerUser {1} .ChannelCoding ='LDPC';%信道编码%这些参数适用于第二个用户 - ru#1 mu-mimo用户2cfgTriggerUser {2} .rusize = AllocationInfo.rusize(1);cfgtriggeruser {2} .ruindex = AllodationInfo.Ruindices(1);cfgtriggeruser {2} .mcs = 3;%调制和编码方案cfgTriggerUser{2}。NumSpaceTimeStreams = 1;%时空流的个数cfgTriggerUser{2}。StartingSpaceTimeStream = 2;%时空流的起始索引cfgtriggeruser {2} .numtransmitantennas = 1;百分比的发射天线数量cfgTriggerUser{2}。ChannelCoding ='LDPC';%信道编码%这些参数适用于第三个用户 - Ru#2cfgtriggeruser {3} .rusize = AllocationInfo.rusize(2);cfgtriggeruser {3} .ruindex = AllodationInfo.Ruindices(2);cfgtriggeruser {3} .mcs = 4;%调制和编码方案cfgTriggerUser{3}。NumSpaceTimeStreams = 2;%时空流的个数cfgtriggeruser {3} .startingspacetimestream = 1;%时空流的起始索引cfgtriggeruser {3} .numtransmitantennas = 2;百分比的发射天线数量cfgtriggeruser {3} .channelcoding ='贝卡';%信道编码
每个用户现在传输包含随机数据的数据包WlanWaveFormGenerator.
.存储每个用户发送的波形被存储用于分析。
trigind = wlanfieldindices(cfgtriggeruser {1});%获得每个字段的索引txTrigStore = 0 (trigInd.HEData (2), numUsers);为了userIdx = 1: numUsers%为用户生成波形cfgTrigger = cfgTriggerUser {userIdx};txPSDU = randi([0 1],getPSDULength(cfgTrigger)*8,1);txTrig = wlanWaveformGenerator (txPSDU cfgTrigger);%存储传输的STA波形以进行分析txTrigStore (:, userIdx) = (txTrig, 2)总和;结尾
从每个STA发射波形的频谱显示了频谱使用的不同部分,以及MU-MIMO RU中的重叠。
fs = wlansamplerate(cfgtriggeruser {1});Ofdminfo = wlanheofdminfo(“数据”, cfgTriggerUser {1});Spectrumanalyzer = DSP.SpectRumanalyzer('采样率',fs,......'allagesmethod',“奔跑”,'spectralaverages',1,......“ChannelNames”, {'ru#1用户1',“俄文# 1用户2”,“俄文# 2”},......'陈旧',真的,“标题”,“每用户传输HE TB波形”);Spectrumanalyzer(Txtrigstore);
用于分配<= 20 MHz的RU分配表如下所示,带有注释的描述。
RU分配和HE-SIG-B用于分配> 20 MHz的用户信令如下表所示,带有注释的描述。
IEEE P802.11ax™/ D4.1信息技术标准草案——电信和信息交换系统之间-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-第六修正案:高效WLAN的增强。