主要内容

802.11 ax包恢复过程

这个例子展示了如何检测数据包有效载荷和解码比特在收到IEEE®802.11 ax™波形。从序言接收机恢复数据包格式参数字段解码数据字段和MAC帧。

介绍

在一个802.11 ax数据包传输参数信号到接收机使用L-SIG HE-SIG-A, HE-SIG-B序言字段(1]:

  • L-SIG字段包含的信息允许接收方确定数据包的传输时间。

  • HE-SIG-A字段包含常见的传输参数HE-MU用户和所有HE-SU和HE-EXT-SU数据包传输参数。

  • 在L-SIG字段长度的组合信息,调制类型和数量的OFDM符号HE-SIG-A字段决定了他包格式。

  • HE-SIG-B字段包含的资源单元(俄文)分配信息和用户的传输参数HE-MU包。

在这个例子中我们检测和解码一个HE-MU包内生成的波形。这个例子也可以恢复HE-SU和HE-EXT-SU包。所有传输参数除了通道带宽被认为是未知的,因此从解码L-SIG检索,HE-SIG-A, HE-SIG-B序言字段。恢复传输参数用于解码数据字段。此外,执行分析如下:

  • 发现包的波形恢复并显示。

  • 的频谱检测包被恢复并显示。

  • 所有空间的星座符号的平衡的数据流显示。

  • 误差向量(维生素)的每个字段级测量。

  • 一个A-MPDU检测和帧校验序列(FCS)决定恢复MAC帧。

  • 每个数据符号和维生素与空间流平均值显示副载波。

  • 维生素与每副载波和空间流数据平均值显示符号。

波形传播

在这个例子中802.11 ax HE-MU波形合成,但您可以使用捕获的波形。您可以使用MATLAB®获得I / Q数据从一个广泛的工具与仪器控制工具箱™和软件定义的无线电平台。

合成波形由2 x2受损TGax室内衰落信道加性高斯白噪声和载波频率偏移量。生成一个HE-MU波形我们配置一个HE-MU格式配置对象wlanHEMUConfig。请注意,wlanHEMUConfig配置对象仅用于发射机的一面。接收者将制定一个他恢复配置对象wlanHERecoveryConfig。未知的他恢复配置对象的属性将解码后的信息比特L-SIG, HE-SIG-A, HE-SIG-B字段。辅助函数heSigRecGenerateWaveform生成波形受损。以下处理步骤执行:

  • 创建一个随机载荷的MSDUs MAC帧,编码成一个HE-MU包。

  • 波形是通过TGax室内衰落信道模型。

  • 载波频率偏移(首席财务官)和加性高斯白噪声(AWGN)被添加到波形。

%混合OFDMA HE-MU包和MU-MIMO配置被定义。%分配指数17定义了两个52-tone俄文,每一个用户%俄文,和一个106 -语气俄文。106 -语气俄文MU-MIMO有两个用户%的配置。cfgMU = wlanHEMUConfig (17);cfgMU。NumTransmitAntennas = 2;%配置俄文和用户1cfgMU.RU {1}。SpatialMapping =“直接”;cfgMU.User {1}。稳重的= 1;cfgMU.User {1}。一个PEPLength = 1e3; cfgMU.User{1}.MCS = 5; cfgMU.User{1}.NumSpaceTimeStreams = 2; cfgMU.User{1}.ChannelCoding =“方法”;%配置俄文和用户2cfgMU.RU {2}。SpatialMapping =“傅里叶”;cfgMU.User {2}。稳重的= 2;cfgMU.User {2}。一个PEPLength = 500; cfgMU.User{2}.MCS = 4; cfgMU.User{2}.NumSpaceTimeStreams = 1; cfgMU.User{2}.ChannelCoding =“* *”;%配置俄文3和用户1cfgMU.RU {3}。SpatialMapping =“傅里叶”;cfgMU.User {3}。稳重的= 3;cfgMU.User {3}。一个PEPLength = 100; cfgMU.User{3}.MCS = 2; cfgMU.User{3}.NumSpaceTimeStreams = 1; cfgMU.User{3}.ChannelCoding =“* *”;%配置俄文3和用户2cfgMU.User {4}。稳重的= 4;cfgMU.User {4}。一个PEPLength = 500; cfgMU.User{4}.MCS = 3; cfgMU.User{4}.NumSpaceTimeStreams = 1; cfgMU.User{4}.ChannelCoding =“方法”;%指定传播渠道numRx = 2;%的接收天线delayProfile =“模型”;% TGax通道延迟概要文件%指定障碍noisePower = -40;%适用于瓦分贝噪声能力首席财务官= 62年e3;%载波频率偏移赫兹%生成波形rx = heSigRecGenerateWaveform (cfgMU numRx、delayProfile noisePower, cfo);

包复苏

信号处理存储在变量中处方。恢复一个数据包的处理步骤:

  • 一个他恢复配置对象,wlanHERecoveryConfig被创建。序言的对象属性更新字段解码。

  • 检测到包和同步。

  • 提取L-LTF和解调。解调L-LTF符号不包括语气旋转每20 MHz段中描述(221.3.7.5],部分。

  • 解调L-LTF符号用于信道和噪声的估计。

  • 包含样品的时域信号相当于四个OFDM符号后立即L-LTF用于确定他包格式。更新数据包格式wlanHERecoveryConfig对象。

  • L-LTF解调。解调L-LTF符号包括语气旋转每20 MHz段中描述(221.3.7.5],部分。L-LTF信道估计(语气旋转)用于解码pre-HE-LTF。

  • L-SIG和RL-SIG字段中提取。信道估计的一个额外的四个副载波L-SIG中的每个子通道和RL-SIG字段。L-LTF信道估计更新,包括额外的副载波信道估计。

  • L-SIG领域的信息比特恢复到确定数据包的长度在微秒。

  • HE-SIG-A解码后,恢复更新配置对象与常见的传输参数HE-MU包和所有HE-SU和HE-EXT-SU数据包传输参数。

  • 对于一个HE-MU HE-SIG-B字段解码数据包格式。对于一个未压缩的SIGB波形HE-SIG-B常见领域是用户字段解码HE-SIG-B位列其后。仅为一个压缩SIGB波形HE-SIG-B用户字段解码。

  • HE-MU格式没有SIGB压缩俄文分配和用户传输参数从HE-SIG-B字段中恢复过来。为一个压缩SIGB波形俄文分配信息推断出从HE-SIG-A领域和用户传输参数决定从HE-SIG-B用户字段位。

  • wlanHERecoveryConfig对象是使用后恢复传输参数为每个用户创建HE-SIG-B解码。

  • HE-LTF字段提取和解调。解调符号用于信道估计的副载波分配给感兴趣的用户。MIMO信道估计用于解码数据字段。

  • 数据字段提取和PSDU比特恢复使用wlanHERecoveryConfig对象为每个用户。

  • 内检测A-MPDU恢复PSDU并检查恢复的FCS MAC帧。

设置波形恢复参数

在这个例子中所有传输参数除了通道带宽假定为未知,将恢复。恢复配置对象,wlanHERecoveryConfig,创建存储恢复L-SIG中的信息,HE-SIG-A, HE-SIG-B序言字段。传输属性wlanHERecoveryConfig更新后的后续解码的序言字段。下面的代码配置对象和变量进行处理。

chanBW = cfgMU.ChannelBandwidth;%假设信道带宽是已知的sr = wlanSampleRate (cfgMU);%采样率%为恢复数据字段指定飞行员跟踪方法。这可以是:%的联合使用联合公共相位误差和采样率抵消跟踪%“CPE”——只使用常见的相位误差跟踪%的时候恢复26-tone俄文只作为联合CPE跟踪%跟踪算法易受噪声。pilotTracking =“联合”;%他恢复配置创建一个对象并设置通道带宽cfgRx = wlanHERecoveryConfig;cfgRx。ChannelBandwidth = chanBW;%恢复配置对象是用来开始和结束% pre-HE-SIG-B字段的索引。印第安纳州= wlanFieldIndices (cfgRx);%设置情节的例子(简介、timeScope ConstellationDiagram、EVMPerSubcarrier EVMPerSymbol] = heSigRecSetupPlots (sr);%最低包长度是10 OFDM符号lstfLength =双(ind.LSTF (2));minPktLen = lstfLength * 5;% L-STF的样本数量rxWaveLen =大小(rx, 1);

前端处理

前端处理由数据包检测、粗载波频率偏移校正,定时同步和载波频率偏移校正。一个内循环用于检测和同步数据包接收到的波形。示例抵消searchOffset用于索引处方检测数据包。第一个包内处方检测和处理。如果检测数据包的同步失败,样本指数抵消searchOffset增加超越处理数据包在吗处方。重复此过程,直到数据包已经成功地检测并同步。

searchOffset = 0;%抵消从开始的波形样本(searchOffset + minPktLen) < = rxWaveLen%包检测pktOffset = wlanPacketDetect (rx chanBW searchOffset);%调整包抵消pktOffset = searchOffset + pktOffset;如果isempty (pktOffset) | | (pktOffset + ind.LSIG (2) > rxWaveLen)错误(“* *没有包发现* *”);结束使用L-STF %粗频率偏移估计和校正rxLSTF = rx (pktOffset + (ind.LSTF (1): ind.LSTF (2)),:);coarseFreqOffset = wlanCoarseCFOEstimate (rxLSTF chanBW);rx = frequencyOffset (rx、sr、-coarseFreqOffset);%符号定时同步searchBufferLLTF = rx (pktOffset + (ind.LSTF (1): ind.LSIG (2)),:);pktOffset = pktOffset + wlanSymbolTimingEstimate (searchBufferLLTF chanBW);使用L-STF %精细频率偏移估计和校正rxLLTF = rx (pktOffset + (ind.LLTF (1): ind.LLTF (2)),:);fineFreqOffset = wlanFineCFOEstimate (rxLLTF chanBW);rx = frequencyOffset (rx、sr、-fineFreqOffset);%的时间同步完成:包检测流(“包发现指数% d \ n”,pktOffset + 1);%显示估计载波频率偏移量cfoCorrection = coarseFreqOffset + fineFreqOffset;%总首席财务官流('估计首席财务官:% 5.1 f赫兹\ n \ n”,cfoCorrection);打破;%的前端处理完成,停止寻找一个数据包结束%规模基于L-STF功率的波形(AGC)获得= 1. /(√(平均(rxLSTF。*连词(rxLSTF))));rx = rx。*增益;
包检测404指数估计首席财务官:61942.9赫兹

数据包格式检测

时域样本相当于四个OFDM符号后立即L-LTF用于确定他包格式1图27 - 63]。提取L-LTF和解调。格式检测、解调L-LTF符号必须为每个20 MHz不包括语气旋转部分中描述(221.3.7.5],部分。解调L-LTF用于信道和噪声的估计。L-LTF通道(没有语气旋转)和噪声功率估计用来探测数据包格式。

rxLLTF = rx (pktOffset + (ind.LLTF (1): ind.LLTF (2)),:);lltfDemod = wlanLLTFDemodulate (rxLLTF chanBW);lltfChanEst = wlanLLTFChannelEstimate (lltfDemod chanBW);noiseVar = wlanLLTFNoiseEstimate (lltfDemod);disp (“检测数据包格式…”);rxSIGA = rx (pktOffset + (ind.LSIG (1): ind.HESIGA (2)),:);pktFormat = wlanFormatDetect (rxSIGA lltfChanEst、noiseVar chanBW);流(“% s包检测到\ n \ n”,pktFormat);%设置数据包格式恢复对象和更新领域的指数cfgRx。PacketFormat = pktFormat;印第安纳州= wlanFieldIndices (cfgRx);
检测数据包格式…HE-MU包检测

L-LTF信道估计

解调L-LTF和完成信道估计。解调L-LTF符号包括语气旋转每20 MHz段中描述(221.3.7.5],部分。L-LTF信道估计(语气旋转)是用来平衡和解码pre-HE-LTF字段。

lltfDemod = wlanHEDemodulate (rxLLTF,“L-LTF”,chanBW);lltfChanEst = wlanLLTFChannelEstimate (lltfDemod chanBW);

L-SIG和RL-SIG解码

L-SIG字段用于确定接收时间,或RXTIME,包的。使用长度的计算RXTIME L-SIG负载。L-SIG和RL-SIG字段是恢复执行额外的副载波上的信道估计在L-SIG RL-SIG字段。的lltfChanEst信道估计更新,包括信道估计在额外的副载波L-SIG和RL-SIG字段。L-SIG负载使用估计的信道解码和噪声功率从L-LTF获得字段。L-SIG长度属性wlanHERecoveryConfigL-SIG解码后更新。

disp (“解码L-SIG…”);%提取L-SIG和RL-SIG字段rxLSIG = rx (pktOffset + (ind.LSIG (1): ind.RLSIG (2)),:);% OFDM解调helsigDemod = wlanHEDemodulate (rxLSIG,“L-SIG”,chanBW);% CPE和相位估计正确的符号helsigDemod = wlanHETrackPilotError (helsigDemod lltfChanEst cfgRx,“L-SIG”);%估计信道上额外的4副载波/子通道和创建完整%信道估计preheInfo = wlanHEOFDMInfo (“L-SIG”,chanBW);preHEChanEst = wlanPreHEChannelEstimate (helsigDemod lltfChanEst chanBW);%之前平均L-SIG和RL-SIG均衡helsigDemod =意味着(helsigDemod, 2);%平衡数据携带副载波,合并20 MHz子信道[eqLSIGSym, csi] = preHESymbolEqualize (helsigDemod (preheInfo.DataIndices,:,)preHEChanEst (preheInfo.DataIndices::), noiseVar, preheInfo.NumSubchannels);%解码L-SIG领域[~,failCheck lsigInfo] = wlanLSIGBitRecover (eqLSIGSym noiseVar, csi);如果failCheck disp (“* * L-SIG检查失败* *”);其他的disp (L-SIG检查通过的);结束%的长度从L-SIG比特恢复和更新的信息% L-SIG长度恢复配置对象的属性lsigLength = lsigInfo.Length;cfgRx。LSIGLength = LSIGLength;%的挣值管理措施都L-SIG符号维生素与= comm.EVM;维生素。ReferenceSignalSource =“估计从参考星座”;维生素。归一化=的平均星座力量”;维生素。ReferenceConstellation = wlanReferenceSymbols (“BPSK”);rmsEVM =维生素(eqLSIGSym);流(“L-SIG维生素:% 2.2身上\ n \ n”,20 * log10 (rmsEVM / 100));%计算接收时间和对应的样本数量%包RXTime =装天花板((lsigLength + 3) / 3) * 4 + 20;%在微秒numRxSamples =圆(RXTime * 1 e-6 * sr);%的样本数量流(“RXTIME: % du \ n”,RXTime);流(包的样品数量:% d \ n \ n ',numRxSamples);
解码L-SIG……L-SIG检查通过L-SIG维生素:-36.91 db RXTIME: 536我们包的样品数量:10720

的波形和频谱检测包内处方鉴于RXTIME计算和显示相应数量的样本。

sampleOffset = max ((-lstfLength + pktOffset), 1);%的第一个索引图sampleSpan = numRxSamples + 2 * lstfLength;%样本数量的情节%的阴谋的包(和额外的样品)plotIdx = sampleOffset: min (sampleOffset + sampleSpan rxWaveLen);%配置timeScope显示数据包timeScope。时间间隔= sampleSpan / sr;timeScope。TimeDisplayOffset = sampleOffset / sr;timeScope。YLimits =[0马克斯(abs (rx (:))));timeScope (abs (rx (plotIdx,:)));释放(timeScope);%显示的频谱检测包简介(rx (pktOffset + (1: numRxSamples):));释放(简介);

HE-SIG-A解码

HE-SIG-A字段包含传输配置他的包。估计的信道和噪声功率从L-LTF获得解码HE-SIG-A所需的字段。

disp (“解码HE-SIG-A…”)rxSIGA = rx (pktOffset + (ind.HESIGA (1): ind.HESIGA (2)),:);sigaDemod = wlanHEDemodulate (rxSIGA,“HE-SIG-A”,chanBW);hesigaDemod = wlanHETrackPilotError (sigaDemod preHEChanEst cfgRx,“HE-SIG-A”);%平衡数据携带副载波,合并20 MHz子信道preheInfo = wlanHEOFDMInfo (“HE-SIG-A”,chanBW);[eqSIGASym, csi] = preHESymbolEqualize (hesigaDemod (preheInfo.DataIndices,:,)preHEChanEst (preheInfo.DataIndices,:,)noiseVar preheInfo.NumSubchannels);%恢复HE-SIG-A比特[sigaBits, failCRC] = wlanHESIGABitRecover (eqSIGASym noiseVar, csi);%进行CRC HE-SIG-A碎片如果failCRC disp (“* * HE-SIG-A CRC失败* *”);其他的disp (“HE-SIG-A CRC传递”);结束%的挣值管理措施都HE-SIG-A符号释放(维生素);如果比较字符串(pktFormat“HE-EXT-SU”)%的第二个象征一个HE-SIG-A字段HE-EXT-SU包% QBPSK。维生素。ReferenceConstellation = wlanReferenceSymbols (“BPSK”[0π/ 2 0 0]);%占比例L-LTF HE-EXT-SU包rmsEVM =维生素(eqSIGASym * sqrt (2));其他的维生素。ReferenceConstellation = wlanReferenceSymbols (“BPSK”);rmsEVM =维生素(eqSIGASym);结束流(“HE-SIG-A维生素:% 2.2身上\ n \ n”,20 * log10(平均(rmsEVM) / 100));
解码HE-SIG-A……HE-SIG-A CRC通过HE-SIG-A维生素:-35.17 db

解释恢复HE-SIG-A比特

wlanHERecoveryConfig更新对象解释后恢复HE-SIG-A碎片。

cfgRx = interpretHESIGABits (cfgRx sigaBits);印第安纳州= wlanFieldIndices (cfgRx);%更新字段索引

显示共同传输配置从HE-SIG-A领域获得HE-MU包。1是未知的或未定义的属性表示。未知的相关属性的更新成功解码后HE-SIG-B字段。

disp (cfgRx)
wlanHERecoveryConfig属性:PacketFormat:“HE-MU”ChannelBandwidth:“CBW20”LSIGLength: 383 SIGBCompression: 0 SIGBMCS: 0 SIGBDCM: 0 NumSIGBSymbolsSignaled: 5方式:0 LDPCExtraSymbol: 0 PreFECPaddingFactor: 4 PEDisambiguity: 0 GuardInterval: 3.2000 HELTFType: 4 NumHELTFSymbols: 2 UplinkIndication: 0 BSSColor: 0 SpatialReuse: 0 TXOPDuration: 127 HighDoppler: 0 AllocationIndex: 1 NumUsersPerContentChannel: 1 RUTotalSpaceTimeStreams: 1 RUSize: 1 RUIndex: 1的:1 MCS: 1 DCM: 1 ChannelCoding:“未知”波束形成:1 NumSpaceTimeStreams: 1 SpaceTimeStreamStartingIndex: 1

HE-SIG-B解码

对于一个HE-MU包HE-SIG-B字段包含:

  • 没有SIGB波形的俄文分配信息推断从HE-SIG-B公共领域(1棒球队以27 - 24的比分表。队)。为一个压缩SIGB波形恢复的俄文分配信息推断HE-SIG-A碎片。

  • 对于一个未压缩的SIGB波形HE-SIG-B符号中更新的数量wlanHERecoveryConfig对象。符号只是更新如果HE-SIG-B符号表示的数量在HE-SIG-A字段被设置为15和所有内容频道通过CRC。HE-SIG-A领域HE-SIG-B符号表示的数量没有更新,如果任何失败CRC HE-SIG-B内容频道。

  • 用户传输参数SIGB压缩和未压缩的波形都推断从HE-SIG-B用户字段(1表。27-27,27 - 28日]。

估计的信道和噪声功率从L-LTF获得解码HE-SIG-B所需的字段。

如果比较字符串(pktFormat“HE-MU”)流(“解码HE-SIG-B…\ n”);如果~ cfgRx。SIGBCompression流(“解码HE-SIG-B常见的领域……\ n”);s = getSIGBLength (cfgRx);%得到共同的符号。HE-SIG-B领域的开始rxSym = rx (pktOffset +(双(ind.HESIGA (2) + (1: s.NumSIGBCommonFieldSamples)),:);%解码HE-SIG-B共同领域(地位、cfgRx) = heSIGBCommonFieldDecode (rxSym、preHEChanEst noiseVar, cfgRx);% CRC HE-SIG-B内容频道如果比较字符串(状态,“成功”)流(“HE-SIG-B(常见的字段)CRC传递\ n”);elseif比较字符串(状态,“ContentChannel1CRCFail”)流(“* * HE-SIG-B CRC失败为内容1频道\ n * *”);elseif比较字符串(状态,“ContentChannel2CRCFail”)流(“* * HE-SIG-B CRC失败为内容2频道\ n * *”);elseif任何(strcmp(地位,{“UnknownNumUsersContentChannel1”,“UnknownNumUsersContentChannel2”}))错误(“* *未知的包长度,丢弃数据包\ n * *”);其他的%丢弃数据包如果所有HE-SIG-B内容渠道失败错误(“* * HE-SIG-B CRC失败* *”);结束%更新字段索引HE-SIG-B符号的数量%更新印第安纳州= wlanFieldIndices (cfgRx);结束%得到完整HE-SIG-B领域样本rxSIGB = rx (pktOffset + (ind.HESIGB (1): ind.HESIGB (2)),:);流(“解码HE-SIG-B用户领域……\ n”);%解码HE-SIG-B用户字段[failCRC, cfgUsers] = heSIGBUserFieldDecode (rxSIGB、preHEChanEst noiseVar, cfgRx);% CRC HE-SIG-B用户如果~所有(failCRC)流(“HE-SIG-B(用户字段)CRC传递\ n \ n”);numUsers =元素个数(cfgUsers);elseif所有(failCRC)%如果所有用户失败CRC丢弃数据包错误(“* * HE-SIG-B CRC失败为所有用户* *”);其他的流(“* * HE-SIG-B CRC失败至少一个用户\ n * *”);用户提供有效的CRC %,只有过程numUsers =元素个数(cfgUsers);结束其他的% HE-SU, HE-EXT-SUcfgUsers = {cfgRx};numUsers = 1;结束
解码HE-SIG-B……解码HE-SIG-B常见的领域……HE-SIG-B(常见的字段)CRC解码HE-SIG-B传递用户领域……HE-SIG-B(用户字段)CRC通过

数据解码

更新后的wlanHERecoveryConfig为每个用户对象可以用来恢复PSDU比特为每个用户的数据字段。

cfgDataRec = trackingRecoveryConfig;cfgDataRec。PilotTracking = PilotTracking;流(“解码数据。\ n”);国际单位= 1:numUsers%得到恢复为每个用户配置对象用户= cfgUsers {iu};如果比较字符串(pktFormat“HE-MU”)流(“解码用户:% d,沉静的:% d, RUSize: % d \ n '、iu user.STAID user.RUSize);其他的流(“解码RUSize: % d \ n”,user.RUSize);结束heInfo = wlanHEOFDMInfo (“数据”,user.GuardInterval chanBW[用户。RUSize user.RUIndex]);% HE-LTF解调和信道估计rxHELTF = rx (pktOffset + (ind.HELTF (1): ind.HELTF (2)),:);heltfDemod = wlanHEDemodulate (rxHELTF,“HE-LTF”chanBW user.GuardInterval,user.HELTFType[用户。RUSize user.RUIndex]);(陈,飞行员)= wlanHELTFChannelEstimate (heltfDemod、用户);%的预期数据OFDM符号symLen = heInfo.FFTLength + heInfo.CPLength;numOFDMSym =双((ind.HEData (2) -ind.HEData (1) + 1)) / symLen;%数据解调与试点阶段和时间跟踪%额外的样品占时从数据包中提取数据字段%的采样率抵消跟踪。可能需要额外的样品如果%明显快于发射机接收机时钟。maxSRO = 120;%百万分之不=装天花板(e-6 numRxSamples * maxSRO * 1);%的额外的样品Ne = min (Ne、rxWaveLen-numRxSamples);%限于波形的长度numRxSamplesProcess = numRxSamples +东北;rxData = rx (pktOffset + (ind.HEData (1): numRxSamplesProcess),:);如果user.RUSize = = 26%力CPE只跟踪26-tone RU算法易受影响%噪音cfgDataRec。PilotTracking =“CPE”;其他的cfgDataRec。PilotTracking = PilotTracking;结束[demodSym, cpe,盯住]= heTrackingOFDMDemodulate (rxData,成龙、numOFDMSym、用户、cfgDataRec);他领域的%估计噪声功率demodPilotSym = demodSym (heInfo.PilotIndices,:,);据nvar = heNoiseEstimate (demodPilotSym、飞行员、用户);%平衡[eqSym, csi] = heEqualizeCombine (demodSym,成龙、据nvar、用户);%丢弃飞行员副载波eqSymUser = eqSym (heInfo.DataIndices,:,);csiData = csi (heInfo.DataIndices:);% Demap和解码比特据nvar rxPSDU = wlanHEDataBitRecover (eqSymUser, csiData,用户,“LDPCDecodingMethod”,“norm-min-sum”);% Deaggregate A-MPDU[mpduList、~、状态]= wlanAMPDUDeaggregate (rxPSDU wlanHESUConfig);如果比较字符串(状态,“成功”)流(“A-MPDU deaggregation成功\ n”);其他的流(“A-MPDU deaggregation失败\ n”);结束%解码MPDUs列表并检查每个MPDU FCSi = 1:元素个数(mpduList)[~, ~,地位]= wlanMPDUDecode (mpduList {}, wlanHESUConfig,“DataFormat”,“八位位组”);如果比较字符串(状态,“成功”)流(的FCS通过MPDU: % d \ n ',我);其他的流(“FCS MPDU失败:% d \ n ',我);结束结束%情节平衡的恢复他数据的星座符号%每个用户空间流hePlotEQConstellation (eqSymUser、用户、ConstellationDiagram iu, numUsers);%测量数据符号的维生素释放(维生素);维生素。ReferenceConstellation = wlanReferenceSymbols(用户);rmsEVM =维生素(eqSymUser (:));流(挣值管理的数据都:% 2.2身上\ n \ n”,20 * log10 (rmsEVM / 100));%情节维生素/数据恢复他的象征符号hePlotEVMPerSymbol (eqSymUser、用户、EVMPerSymbol iu, numUsers);挣值管理%情节都每副载波恢复他的数据符号hePlotEVMPerSubcarrier (eqSymUser、用户、EVMPerSubcarrier iu, numUsers);结束
解码数据……解码用户:1、稳重的:1、RUSize: 52 A-MPDU deaggregation成功FCS MPDU通过:1挣值管理数据都:-28.61 db解码用户:2,沉静的:2,RUSize: 52 A-MPDU deaggregation成功FCS MPDU通过:1挣值管理数据都:-39.94 db解码用户:3,沉静的:3,RUSize: 106 A-MPDU deaggregation成功FCS MPDU通过:1挣值管理数据都:-28.22 db解码用户:4,沉静的:4,RUSize: 106 A-MPDU deaggregation成功FCS MPDU通过:1挣值管理数据都:-31.44 db

选定的参考书目

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

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