主要内容

基于上行触发器的反馈NDP的802.11ax反馈状态误检测仿真

这个例子展示了如何测量从多个上行站(sta)传输的上行高效率(HE)触发器(TB)反馈零数据包(NDP)中反馈状态信息的误检概率。

介绍

802.11 ax [1HE TB反馈NDP是HE TB物理层协议数据单元(PPDU)的一种变体。HE TB反馈NDP传输完全由接入点(AP)控制。传输所需的所有参数都在NDP反馈报告轮询(NFRP)的触发帧中提供,该触发帧发送给参与HE TB反馈传输的所有sta。在AP发送NFRP触发帧之后,多个sta可以同时发送一个HE TB反馈NDP,该NDP携带资源请求信息(反馈状态),如图所示。有关NDP反馈报告程序的更多信息,请参阅《NDP反馈报告程序》wlanHETBConfig参考页面。

这个例子通过比较发送和接收的反馈状态来衡量HE TB反馈NDP的反馈状态信息的误检概率。当恢复的反馈状态不正确或不确定时,将记录错误检测。该示例使用端到端仿真对四个sta和一个AP之间的传输进行测量。STA从请求NFRP触发帧的用户信息字段推断传输参数。在每个信噪比(SNR)点上,STA传输多个包时,除了多径衰落和噪声外,没有任何损害。STA对报文进行解调,恢复反馈状态。AP通过比较恢复的反馈状态和发送的反馈状态来判断反馈状态误检的概率。

每个STA通过执行这些处理步骤来传输一个波形。

  1. 确定STA是否计划发送HE TB反馈NDP。

  2. 确定所有发送sta的RU音集索引和起始空时流号。

  3. 为sta生成HE TB反馈NDP。

  4. 将每个STA的波形通过一个室内信道使用wlanTGaxChannel年代系统对象(TM)。的UserIndex属性,为每个用户和每个包建模不同的通道实现wlanTGaxChannel.这个过程导致所有sta具有相同的空间相关属性。

  5. 合并所有sta的波形。

  6. 在接收波形中加入加性高斯白噪声(AWGN)。AWGN在对每个STA进行正交频分复用(OFDM)解调后,产生每个子载波所需的平均信噪比。

接收器(AP)对接收到的波形执行这些处理步骤。

  1. 使用完美信道延迟估计同步。

  2. 从同步波形中提取HE-LTF并解调HE-LTF。

  3. 从被解调的HE-LTF符号中恢复反馈状态信息[2].

该图显示了STA和AP之间每个链路的处理过程。

模拟上行传输

本节模拟多个sta和信噪比点的端到端上行场景。指定sta数量和信噪比范围。本节估计所有sta的误检测反馈状态的概率。反馈状态代表STA的资源请求信息,定义见[1].

设置传输参数numSTAs =4%上行sta数量稳重的=[1 19 2 4]% STA关联ID,分配给每个与AP关联的STAmultiplexingFlag =[0 1 0 0]%在NFRP类型的触发帧中为每个STA发出信号feedbackStatus =[1 0 1 0]每个STA发出的资源请求信息startingAID =0%在NFRP类型的触发帧中有信号设定模拟参数numPackets =50%需要模拟的报文数snrRange =2:2:6%信噪比点(dB)chanBW =“CBW20”%通道带宽numTx =1%假设所有sta的发送天线数目相同numRx =4%接收(AP)天线数

HE TB反馈NDP波形配置

为每个STA配置波形发生器。STA执行这些步骤。

  • 检查STA是否预定发送。

  • 计算每个STA的RUToneSetIndex稳重的startingAID,chanBW。

  • 计算所有sta的起始空时流编号稳重,startingAID,chanBW。

  • 为所有sta生成配置对象。

%返回发送sta的索引。计算RUToneSetIndex并为所有sta启动空间时间流。[txSTAIndex, ruToneSetIndexPerSTA startingSTSNumPerSTA] = heTBNDPMappingParams (chanBW、numSTAs multiplexingFlag, startingAID,沉静的);numTxSTAs =元素个数(txSTAIndex);预定发送的STAscfgSTA =细胞(1、numTxSTAs);%生成配置对象并设置所有sta的反馈状态属性cfgBase = wlanHETBConfig (“ChannelBandwidth”chanBW,“NumTransmitAntennas”numTx,“SpatialMapping”“傅里叶”);cfgNDP = getNDPFeedbackConfiguration (cfgBase);如果numSTAs ~ =元素个数(feedbackStatus)错误(' FeedbackStatus中的元素数量必须等于sta的数量');结束u = 1: numTxSTAs cfgNDP。RUToneSetIndex = ruToneSetIndexPerSTA (u);cfgNDP。年代tartingSpaceTimeStream = startingSTSNumPerSTA(u); cfgNDP.FeedbackStatus = feedbackStatus(txSTAIndex(u)); cfgSTA{u} = cfgNDP;结束

通道配置

本例使用带有延迟剖面模型- d的TGax非视线(NLOS)室内信道模型。当发射机和接收机之间的距离大于或等于10米时,d模型被认为是NLOS。有关更多信息,请参见wlanTGaxChannel.本例中假设所有sta与AP的距离相同。

delayProfile =“模型”TGax信道多径延迟配置文件tgaxBase = wlanTGaxChannel;tgaxBase。DelayProfile = DelayProfile;tgaxBase。年代ampleRate = wlanSampleRate(cfgSTA{1}); tgaxBase.TransmissionDirection =“上行”;tgaxBase。TransmitReceiveDistance = 10;tgaxBase。ChannelBandwidth = chanBW;tgaxBase。NumReceiveAntennas = numRx;tgaxBase。NormalizeChannelOutputs = false;tgaxBase。PathGainsOutputPort = true;

为每个STA创建单独的通道。每个频道都是一个克隆tgaxBase,但又有所不同UserIndex属性,并存储在单元格数组中tgax.的UserIndex属性为每个用户创建一个唯一的通道。这个例子使用随机信道实现每个包随机改变UserIndex每个传输数据包的属性。

%单元格数组存储通道对象,每个STA一个。tgax =细胞(1、numTxSTAs);u=1:numTxSTAs tgax{u} =克隆(tgaxBase);tgax{你}。NumTransmitAntennas = numTx;tgax{你}。UserIndex = u;结束chInfo = info (tgaxBase);chFilterCoefficients = chInfo.ChannelFilterCoefficients;通道滤波系数

处理信噪比点

本节在每个信噪比点测试多个包,并计算误检恢复反馈状态的概率。

为了并行处理信噪比点,可以使用parfor循环。为了使用并行计算来提高速度,请将下面的'for'语句注释掉,并取消对'parfor'语句的注释。

%处理信噪比点ofdmInfo = wlanHEOFDMInfo (“HE-LTF”, cfgNDP);numSNR =元素个数(snrRange);%信噪比点数misdetectionProbability = 0 (numTxSTAs numSNR);印第安纳州= wlanFieldIndices (cfgNDP);所有STAs都一样%parfor isnr=1:numSNR %使用“parfor”加速模拟isnr = 1: numSNR%每次迭代设置随机子流索引,以确保每个%迭代使用一组可重复的随机数流= RandStream (“combRecursive”“种子”, 0);流。年代ubstream = isnr; RandStream.setGlobalStream(stream); rxFeedbackStatus = zeros(numPackets,numTxSTAs); chDelay = zeros(1,numTxSTAs);pktIdx=1:numPackets rx波形= 0;%通过变化为每个包生成随机信道实现%通道的UserIndex属性。这里假设所有sta%有相同数量的发射天线。chPermutations = randperm (numTxSTAs);u = 1: numTxSTAs生成每个STA的HE TB反馈NDP波形txSTA = wlanWaveformGenerator ([], cfgSTA{你});%通过随机的TGax通道通过波形channelIdx = chPermutations (u);重置(tgax {channelIdx});%新通道实现[rxSTA h] = tgax {channelIdx} ([txSTA;0(50、大小(txSTA 2))));执行完美的信道延迟估计以找到开始%的包chDelay (u) = channelDelay (h, chFilterCoefficients);%合并上行波形从所有sta成一个波形rxWaveform = rxWaveform + rxSTA;结束%使用最大通道延迟稍后进行同步%在所有通道之间作为数据包的开始pktOffset = max (chDelay (u));%数据包启动索引%将波形通过AWGN通道。占噪音未使用子载波能量%。snrVal = snrRange (isnr) -10 * log10 (ofdmInfo.FFTLength / ofdmInfo.NumTones);rxWaveform = awgn (rxWaveform snrVal);%上行处理(AP)rxHELTF = rxWaveform (pktOffset + (ind.HELTF (1): ind.HELTF (2)),:);heltfDemod = wlanHEDemodulate (rxHELTF,“HE-LTF”, cfgNDP.GuardInterval chanBW cfgNDP.HELTFType);%恢复所有sta的反馈状态u=1:numTxSTAs rxFeedbackStatus(pktIdx,u) = wlanHETBNDPFeedbackStatus(heltfDemod,cfgSTA{u});结束结束每STA误检概率misdetectionProbability (:, isnr) = 1-sum (rxFeedbackStatus = = feedbackStatus (txSTAIndex)) / numPackets;disp ([“信噪比”num2str (snrRange (isnr))“完成”]);结束
信噪比-2完成信噪比0完成信噪比-2完成信噪比- 4完成信噪比- 6完成

绘制误检概率与信噪比的关系

标记=“牛* sd ^ v > < ph值+ ';numMarkers =元素个数(标记);u = 1: numTxSTAs semilogy (snrRange misdetectionProbability (u,:), (“- - -”标记(mod (u-1 numMarkers) + 1)]);持有结束包含(“信噪比(dB)”);ylabel (“misdetection概率”);dataStr = arrayfun (@ (x) sprintf (“沉静的% d ', x)的(txSTAIndex),“UniformOutput”、假);标题(sprintf ('%s,通道%s, %d-by-%d', delayProfile chanBW numTx numRx));传奇(dataStr);网格

图中包含一个坐标轴。标题为CBW20的轴,通道模型- d, 1 × 4,包含4个类型为line的对象。这些对象代表STAID 1, STAID 19, STAID 2, STAID 4。

每个信噪比点测试的包数取决于numPackets.为了有意义的结果,增加价值numPackets.这个图是通过运行一个较长的模拟创建的numPackets: 1 e4和snrRange: 2:2:6。

选定的参考书目

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

  2. Montreuil, L。et al。NDP短反馈设计。IEEE 802.11-17/0044r4, 2017年5月。