主要内容

802.11 ax包错误率模拟单用户的格式

这个例子展示了如何衡量一个IEEE®802.11的包错误率ax™效率高(他)单用户格式链接。

介绍

在这个例子中,一个端到端的模拟被用来确定一个802.11的包错误率ax [1)单用户格式链接信噪比点的选择。在每一个信噪比点,多个数据包通过噪声TGax室内传播渠道,解调和PSDUs恢复。比较了PSDUs传播来确定包错误率。每个数据包的处理归纳为如下图。

波形的配置

他单用户(SU)包full-band传输单个用户。他的传输参数配置使用SU格式wlanHESUConfig对象。对象包含的属性配置。在这个例子中,20 MHz的对象配置信道带宽,2传输天线,2时空流,没有时空块编码和16-QAM rate-1/2 (MCS 3)。

cfgHE = wlanHESUConfig;cfgHE。ChannelBandwidth =“CBW20”;%通道带宽cfgHE。NumSpaceTimeStreams = 2;%的时空流cfgHE。NumTransmitAntennas = 2;%的发送天线数量cfgHE。一个PEPLength = 1e3;%载荷长度字节cfgHE。ExtendedRange = false;%不使用扩展范围的格式cfgHE。Upper106ToneRU = false;%不使用上106语气俄文cfgHE。PreHESpatialMapping = false;%的空间映射pre-HE字段cfgHE。GuardInterval = 0.8;%警卫队间隔时间cfgHE。HELTFType = 4;% HE-LTF压缩模式cfgHE。ChannelCoding =“方法”;%信道编码cfgHE。MCS = 3;%调制和编码方案

通道配置

在这个例子中,TGax仿真结果室内信道模型是使用延迟概要b型。b型被认为是仿真结果当发射机和接收机之间的距离大于或等于5米。这是进一步描述wlanTGaxChannel。2 x2 MIMO信道模拟在这个例子。

%创建和配置TGax通道chanBW = cfgHE.ChannelBandwidth;tgaxChannel = wlanTGaxChannel;tgaxChannel。DelayProfile =“b型”;tgaxChannel。NumTransmitAntennas = cfgHE.NumTransmitAntennas;tgaxChannel。NumReceiveAntennas = 2;tgaxChannel。TransmitReceiveDistance = 5;%在米距离了仿真结果tgaxChannel。ChannelBandwidth = chanBW;tgaxChannel。LargeScaleFadingEffect =“没有”;tgaxChannel。NormalizeChannelOutputs = false;fs = wlanSampleRate (cfgHE);tgaxChannel。SampleRate = f;

仿真参数

对于每一个信噪比(dB)信噪比向量生成的数据包数量,通过一个通道和解调来决定数据包出错率。

信噪比= 10:5:35;

数据包的数量在每个信噪比测试点是由两个参数:

  1. maxNumErrors是模拟在每个数据包的最大数量错误信噪比。当数据包错误的数量达到这个极限,模拟在这个信噪比点完成。

  2. maxNumPackets在每个数据包的最大数量模拟信噪比点和限制的长度模拟如果数据包误差范围没有达到。

选择的数量在这个例子将导致非常短的模拟。我们建议增加这些数据在统计上有意义的结果。

maxNumErrors = 10;%的最大数据包数量错误的信噪比maxNumPackets = 100;%的最大数据包数量的信噪比

处理信噪比点

为每一个信噪比点的数据包数量进行测试,计算包错误率。802.11 ax的pre-HE序言是ac™802.11向后兼容,因此在这个例子中前端为VHT波形同步组件用于同步他在接收波形。为每一个包发生以下处理步骤:

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

  2. 波形是通过室内TGax通道模型。不同的频道实现建模不同的数据包。

  3. 情况下被添加到接收到的波形来创建所需的平均信噪比活跃的副载波OFDM解调后。

  4. 检测到数据包。

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

  6. 好时机建立同步。L-STF, L-LTF L-SIG样本提供的好时机允许数据包检测L-STF的开始或结束。

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

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

  9. 同步接收的数据字段提取波形和OFDM解调。

  10. 公共相位误差跟踪试点执行跟踪任何剩余载波频率偏移量。

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

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

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

一个parfor可以使用循环并行化处理的信噪比点。使使用并行计算速度的增加注释掉”的声明和取消下面的“parfor”声明。

numSNR =元素个数(信噪比);%的信噪比点numSNR packetErrorRate = 0 (1);%获得占领副载波指数和OFDM参数ofdmInfo = wlanHEOFDMInfo (“数据”,cfgHE);% PPDU指数提取字段印第安纳州= wlanFieldIndices (cfgHE);% parfor isnr = 1: numSNR %使用parfor加快仿真isnr = 1: numSNR%设置随机substream每迭代确保每个索引%迭代使用一组可重复的随机数字流= RandStream (“combRecursive”,“种子”,99);流。Substream = isnr;RandStream.setGlobalStream(流);%噪声能量占null信噪比是每个定义的%活跃副载波packetSNR =信噪比(isnr) -10 * log10 (ofdmInfo.FFTLength / ofdmInfo.NumTones);%循环模拟多个数据包numPacketErrors = 0;numPkt = 1;%指数数据包传输numPacketErrors < = maxNumErrors & & numPkt < = maxNumPackets%生成一个随机PSDU包psduLength = getPSDULength (cfgHE);% PSDU长度字节txPSDU =兰迪([0,1],psduLength * 8, 1);tx = wlanWaveformGenerator (txPSDU cfgHE);% 0添加到允许通道延迟txPad = [tx;0 (50,cfgHE.NumTransmitAntennas)];%通过减弱室内TGax通道重置(tgaxChannel);%重置渠道不同的实现rx = tgaxChannel (txPad);%通过波形通过AWGN信道rx = awgn (rx, packetSNR);%包检测和确定粗包抵消chanBW coarsePktOffset = wlanPacketDetect (rx);如果isempty (coarsePktOffset)%如果空没有L-STF检测;包错误numPacketErrors = numPacketErrors + 1;numPkt = numPkt + 1;继续;%去下一个循环迭代结束%提取L-STF并执行粗频率偏移校正lstf = rx (coarsePktOffset + (ind.LSTF (1): ind.LSTF (2)),:);coarseFreqOff = wlanCoarseCFOEstimate (lstf chanBW);rx = frequencyOffset (rx, fs -coarseFreqOff);%提取non-HT领域并确定好包抵消nonhtfields = rx (coarsePktOffset + (ind.LSTF (1): ind.LSIG (2)),:);finePktOffset = wlanSymbolTimingEstimate (nonhtfields chanBW);%确定最终包抵消pktOffset = coarsePktOffset + finePktOffset;%如果给予包检测的范围从预期的延迟%信道建模;包错误如果pktOffset > 50 numPacketErrors = numPacketErrors + 1;numPkt = numPkt + 1;继续;%去下一个循环迭代结束%提取L-LTF并执行好频率偏移校正rxLLTF = rx (pktOffset + (ind.LLTF (1): ind.LLTF (2)),:);fineFreqOff = wlanFineCFOEstimate (rxLLTF chanBW);rx = frequencyOffset (rx, fs -fineFreqOff);% HE-LTF解调和信道估计rxHELTF = rx (pktOffset + (ind.HELTF (1): ind.HELTF (2)),:);heltfDemod = wlanHEDemodulate (rxHELTF,“HE-LTF”,cfgHE);(陈,飞行员)= heLTFChannelEstimate (heltfDemod cfgHE);%数据解调rxData = rx (pktOffset + (ind.HEData (1): ind.HEData (2)),:);demodSym = wlanHEDemodulate (rxData,“数据”,cfgHE);%试点阶段跟踪cfgHE demodSym = wlanHETrackPilotError (demodSym,陈,“数据”);他领域的%估计噪声功率据nvar = heNoiseEstimate (demodSym (ofdmInfo.PilotIndices,:,:),飞行员,cfgHE);%的副载波解调中提取数据符号和通道%的估计demodDataSym = demodSym (ofdmInfo.DataIndices,:,);chanEstData =成龙(ofdmInfo.DataIndices,:,);%均衡和结合方式[eqDataSym, csi] = heEqualizeCombine (demodDataSym chanEstData,据nvar, cfgHE);%恢复数据据nvar rxPSDU = wlanHEDataBitRecover (eqDataSym, csi, cfgHE,“LDPCDecodingMethod”,“layered-bp”);%确定任何比特错误,即数据包错误packetError = ~ isequal (txPSDU rxPSDU);numPacketErrors = numPacketErrors + packetError;numPkt = numPkt + 1;结束%计算包错误率在信噪比点(/)packetErrorRate (isnr) = numPacketErrors / (numPkt-1);disp ([“主持人”num2str (cfgHE.MCS)”、““信噪比”num2str(信噪比(isnr))完成后的num2str (numPkt-1)“包”,“每:”num2str (packetErrorRate (isnr))));结束
MCS 3,信噪比10完成11包,之后每:1 MCS 3、信噪比后15完成17个数据包,每:0.64706 MCS 3,信噪比20 52包完成后,每:0.21154 MCS 3,信噪比25 100包完成后,每:0.02 MCS 3,信噪比30 100包完成后,每:0 MCS 3,信噪比35 100包完成后,每:0

图包误码率和信噪比

图;packetErrorRate semilogy(信噪比,“- *”);持有;网格;包含(“信噪比(dB)”);ylabel (“每”);dataStr = arrayfun (@ (x) sprintf (“MCS % d ',cfgHE.MCS x)“UniformOutput”、假);传奇(dataStr);标题(sprintf (对他的每个通道% s % s, % s, PSDULength: % d ',cfgHE.ChannelBandwidth tgaxChannel.DelayProfile cfgHE.ChannelCoding cfgHE.APEPLength));

数据包的数量在每个信噪比测试点是由两个参数:maxNumErrorsmaxNumPackets。有意义的结果,这些值应该比那些在这个例子。作为一个例子,下面的图是由模拟运行时间maxNumErrors:1 e3和maxNumPackets:1 e4。

附录

这个示例使用以下辅助函数:

选定的参考书目

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