主要内容

802.11 ax压缩波束形成包错误率模拟

这个例子展示了如何衡量的包错误率beamformed IEEE®802.11 ax™高效单用户(SU)格式与不同波束形成反馈量化水平。

介绍

传输波束形成集中精力向接收机改善信噪比的一个链接。在这个方案中,发射机称为beamformer和接收机称为beamformee。使用指导矩阵beamformee beamformer直接能量。指导矩阵计算使用信道状态信息通过信道测量。这些测量是通过测深beamformer和beamformee之间的通道。声音通道,beamformer发送一个空数据包beamformee (NDP)。beamformee措施在测深的频道信息计算反馈矩阵。这个矩阵被压缩的形式量化角(φ和ψ)和beamformer反馈。beamformer可以计算反馈矩阵从量化的角度来创建一个转向矩阵和beamform beamformee传输。形成的过程指导矩阵所示802.11交流传输波束形成

这个例子测量包错误率(每)为802.11 ax [1)单用户(SU)链接组成4 x2 MIMO配置发射机和接收机之间有两个时空流。利用压缩波束形成的联系反馈量化为不同的量子化水平和信噪比点的选择。本例中没有考虑的副载波分组(参见9.4.1.65 (1])。

波形的配置

他苏包是full-band传输单个用户。为他配置传输参数格式使用wlanHESUConfig对象。配置对象为20 MHz信道带宽,四发射天线,两个时空流,16-QAM rate-1/2 (MCS 3),和4 x HE-LTF压缩模式。这个例子不副载波波束形成平滑模型。听起来所有的副载波和没有插值估计通道传输配置,使用4 x HE-LTF压缩模式。

NumTxAnts = 4;%的发送天线数量NumSTS = 2;%的时空流NumRxAnts = 2;%的接收天线cfgHEBase = wlanHESUConfig;cfgHEBase。ChannelBandwidth =“CBW20”;%通道带宽cfgHEBase。NumSpaceTimeStreams = NumSTS;%的时空流cfgHEBase。NumTransmitAntennas = NumTxAnts;%的发送天线数量cfgHEBase。APEPLength = 1 e3;%载荷长度字节cfgHEBase。ExtendedRange = false;%不使用扩展范围的格式cfgHEBase。Upper106ToneRU = false;%不使用上106语气俄文cfgHEBase。PreHESpatialMapping = false;%的空间映射pre-HE字段cfgHEBase。GuardInterval = 3.2;%警卫队间隔时间cfgHEBase。HELTFType = 4;% HE-LTF压缩模式cfgHEBase。ChannelCoding =“方法”;%信道编码cfgHEBase。MCS = 3;%调制和编码方案cfgHEBase。SpatialMapping =“自定义”;%的习俗波束形成

空数据包(NDP)配置

配置新民主党传输的数据长度为零。自从民主党用于获取信道状态信息,让时空流的数量等于发射天线的数量和每个时空流直接映射到传输天线。

cfgNDP = cfgHEBase;cfgNDP。APEPLength = 0;%民主党没有数据cfgNDP。NumSpaceTimeStreams = NumTxAnts;%的反馈矩阵的计算cfgNDP。SpatialMapping =“直接”;%每个TxAnt携带一个STS

通道配置

这个示例使用TGax仿真结果延迟室内信道模型b型。b型概要文件被认为是仿真结果当发射机和接收机之间的距离大于或等于5米。有关更多信息,请参见wlanTGaxChannel

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

仿真参数

这个例子比较波束形成的性能与两种不同分辨率的压缩量化,没有压缩。万博 尤文图斯对于每一个量化的决议,执行一个端到端的模拟各种信噪比的值来确定每。802.11 ax只指定了两套量化解决单用户波束形成(表9-29a (1])。设定的值codeBookSize看中了用于数字转换波束形成反馈的比特数角(φ和ψ)模拟。禁用压缩永久变形codeBookSize。此表显示了每个值的量化水平codeBookSize:

codeBookSize压缩配置- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 NumBitsphi = 4;NumBitspsi = 2 1 NumBitsphi = 6;NumBitspsi = 4正没有压缩- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
codeBookSize =[0 1正];

设置模拟在dB的信噪比。

信噪比= 10:2:18;

限制数据包的数量在每个信噪比测试点maxNumErrorsmaxNumPackets,地点:

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

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

选择的数量在这个例子中很短的模拟。在统计学上有意义的结果,这些数字增加。

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

处理信噪比点

对于每一个信噪比点,测试包和计算每。对于每一个包,执行这些步骤。

获得指导矩阵来创建一个反馈矩阵:

  1. 传输一个民主党通过室内TGax波形信道模型。模型不同的频道实现不同的数据包。

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

  3. beamformee检测包。

  4. 估计和修正粗糙的载波频率偏移(首席财务官)。

  5. 建立良好的时间同步。

  6. 首席财务官估计和修正好。

  7. 从同步提取HE-LTF收到波形。OFDM解调HE-LTF和完成信道估计。

  8. 估计通道上执行奇异值分解和矩阵计算波束形成反馈,V。

  9. 压缩和数字转换的反馈矩阵,V,创建一组角中指定的标准。

传输一个数据包使用恢复指导矩阵和解码恢复PSDU beamformed数据传输:

  1. 如果压缩模型,量化的角度转换回波束形成反馈矩阵,V .否则,使用由beamformee V矩阵计算。假设没有波束形成反馈延迟。

  2. 创建和编码PSDU创建一个单包波形与指导矩阵将波束形成的反馈矩阵,V。

  3. 通过波形通过相同的室内TGax民主党传输通道实现。

  4. 添加情况下接收到的波形。

  5. 与民主党一样,执行同步和信道估计。

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

  7. 执行常见的相位误差试验跟踪跟踪任何剩余载波频率偏移量。

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

  9. 平衡阶段纠正OFDM符号的信道估计。

  10. 解调和解码恢复PSDU平衡的符号。

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

numQuant =元素个数(codeBookSize);numSNR =元素个数(信噪比);%的信噪比点packetErrorRate = 0 (numQuant numSNR);%获得占领副载波指数和OFDM参数ofdmInfo = wlanHEOFDMInfo (“数据”,cfgHEBase);% PPDU指数提取字段印第安纳州= wlanFieldIndices (cfgHEBase);indSound = wlanFieldIndices (cfgNDP);ibf = 1: numQuant开关codeBookSize (ibf)%见P802.11ax / 9.4.1.64 D4.1部分情况下0 NumBitsPsi = 2;%对psi的比特数NumBitsPhi = 4;%为φ的比特数disp (端到端模拟与压缩波束形成量化的);disp ([φ=的比特数的num2str (NumBitsPhi)和ψ=的比特数num2str (NumBitsPsi)]);情况下1 NumBitsPsi = 4;%对psi的比特数NumBitsPhi = 6;%为φ的比特数disp (端到端模拟与压缩波束形成量化的);disp ([φ=的比特数的num2str (NumBitsPhi)和ψ=的比特数num2str (NumBitsPsi)]);否则disp (与未压缩的端到端模拟波束形成的);结束% parfor isnr = 1: numSNR %使用parfor加快仿真isnr = 1: numSNR%设置随机substream每迭代确保每个索引%迭代使用一组可重复的随机数字流= RandStream (“combRecursive”,“种子”,100);流。Substream = isnr;RandStream.setGlobalStream(流);%噪声能量占null信噪比是每个定义的%活跃副载波packetSNR =信噪比(isnr) -10 * log10 (ofdmInfo.FFTLength / ofdmInfo.NumTones);%创建他每信噪比配置对象的一个实例%的模拟。这将使使用parforcfgHE = cfgHEBase;%循环模拟多个数据包numPacketErrors = 0;numPkt = 1;%指数数据包传输numPacketErrors < = maxNumErrors & & numPkt < = maxNumPackets%空数据包传输tx = wlanWaveformGenerator ([], cfgNDP);% 0添加到允许通道延迟txPad = [tx;0 (50,cfgNDP.NumTransmitAntennas)];%通过减弱室内TGax通道重置(tgaxChannel);%重置渠道不同的实现rx = tgaxChannel (txPad);%通过波形通过AWGN信道rx = awgn (rx, packetSNR);%计算beamformee指导矩阵V = heUserBeamformingFeedback (rx, cfgNDP,真);如果isempty (V)%用户反馈失败,包错误numPacketErrors = numPacketErrors + 1;numPkt = numPkt + 1;继续;%去下一个循环迭代结束如果~ isinf (codeBookSize (ibf))%找到量化角度波束形成的反馈矩阵angidx = bfCompressQuantize (V (: 1: NumSTS,:), NumBitsPhi, NumBitsPsi);%计算转向矩阵从量化的角度% beamformer:%假设零延迟传输量子化的角度%从beamformee beamformer,指导矩阵%计算,从量化的角度和使用的% beamformer的数据传输。[~,数控,Nr] =大小(V (1,1: NumSTS:));V = bfDecompress (angidx、Nr、数控、NumBitsPhi NumBitsPsi);结束steeringMat = V (: 1: NumSTS:);% Beamformed数据传输psduLength = getPSDULength (cfgHE);% PSDU长度字节txPSDU =兰迪([0,1],psduLength * 8, 1);%生成随机PSDUcfgHE。SpatialMappingMatrix = steeringMat;tx = wlanWaveformGenerator (txPSDU cfgHE);% 0添加到允许通道延迟txPad = [tx;0 (50,cfgHE.NumTransmitAntennas)];%通过减弱室内TGax通道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);(陈,飞行员)= wlanHELTFChannelEstimate (heltfDemod cfgHE);%数据解调rxData = rx (pktOffset + (ind.HEData (1): ind.HEData (2)),:);demodSym = wlanHEDemodulate (rxData,“数据”,cfgHE);%试点阶段跟踪%平均单个流试验估计符号(二维)pilotEstTrack =意味着(飞行员,2);demodSym = wlanHETrackPilotError (demodSym pilotEstTrack cfgHE,“数据”);他领域的%估计噪声功率据nvar = heNoiseEstimate (demodSym (ofdmInfo.PilotIndices,:,:), pilotEstTrack, cfgHE);%的副载波解调中提取数据符号和通道%的估计demodDataSym = demodSym (ofdmInfo.DataIndices,:,);chanEstData =成龙(ofdmInfo.DataIndices,:,);%均衡和结合方式[eqDataSym, csi] = heEqualizeCombine (demodDataSym chanEstData,据nvar, cfgHE);%恢复数据据nvar rxPSDU = wlanHEDataBitRecover (eqDataSym, csi, cfgHE,“LDPCDecodingMethod”,“norm-min-sum”);%确定任何比特错误,即数据包错误packetError = ~ isequal (txPSDU rxPSDU);numPacketErrors = numPacketErrors + packetError;numPkt = numPkt + 1;结束%计算包错误率在信噪比点(/)packetErrorRate (ibf isnr) = numPacketErrors / (numPkt-1);disp ([“主持人”num2str (cfgHE.MCS)”、““信噪比”num2str(信噪比(isnr))完成后的num2str (numPkt-1)“包”,“每:”num2str (packetErrorRate (ibf, isnr))));结束disp(换行符);结束
端到端模拟与压缩波束形成量化位数为φ= 4和ψ= 2 MCS 3位数,信噪比后10完成13个包,每个:0.84615 MCS 3,信噪比12完成44个数据包后,每:0.25 MCS 3,信噪比14 91包完成后,每:0.12088 MCS 3,信噪比16 100包完成后,每:0.05 MCS 3,信噪比18 100包完成后,每:0的端到端模拟与压缩波束形成量化的比特数,φ= 6位数ψ= 4 MCS 3,信噪比10完成后15包,每:0.73333 MCS 3,信噪比12完成46包后,每:0.23913 MCS 3,信噪比14 100包完成后,每:0.1 MCS 3,信噪比16 100包完成后,每:0.05 MCS 3,信噪比18 100包完成后,每:0与未压缩的端到端模拟波束形成MCS 3,信噪比10完成后15包,每:0.73333 MCS 3,信噪比12完成46包后,每:0.23913 MCS 3,信噪比14 92包完成后,每:0.11957 MCS 3,信噪比16 100包完成后,每:0.04 MCS 3,信噪比18 100包完成后,每:0

图包误码率和信噪比

图;线型= [“k o”“台球”“r - *”];semilogy(信噪比、packetErrorRate(1:),线型(1));持有;网格;包含(“信噪比(dB)”);ylabel (“每”);ibf = 2: numQuant semilogy(信噪比、packetErrorRate (ibf:),线型(ibf));结束dataStr = [string ([压缩的波束形成,换行符“NumBitsPhi = 4, NumBitsPsi = 2”换行符)字符串([压缩的波束形成,换行符“NumBitsPhi = 6, NumBitsPsi = 4”换行符)“没有波束形成”];传奇(dataStr);标题(sprintf (802.11 ax波束形成的通道% s % s, % s的,cfgHEBase.ChannelBandwidth tgaxChannel.DelayProfile cfgHEBase.ChannelCoding));

数据包的数量在每个信噪比测试点是由两个参数:maxNumErrorsmaxNumPackets。有意义的结果,提高在本例中使用的值。下图是由模拟运行时间maxNumErrors:1 e3和maxNumPackets:1 e4。

进一步的探索

使用4 x HE-LTF压缩模式为民主党和数据包传输允许将所有副载波和信道估计。当2 x HE-LTF压缩模式使用线性插值信道估计期间执行。这个例子不执行副载波波束形成平滑。因此,如果您配置仿真使用2 x HE-LTF压缩,期间执行的插值信道估计不会正确地估计的波束形成矩阵所有副载波和每将会增加。

选定的参考书目

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