主要内容

802.11be 4096-QAM 320 MHz波形生成与分析

本示例演示如何生成具有4096点正交振幅调制(4096-QAM)和320 MHz信道带宽的IEEE®802.11be™单用户波形。该实例演示了如何测量发射机调制精度、光谱掩模和光谱平坦度。

简介

这个例子展示了如何参数化和生成P802.11be Draft 0.1中指定的IEEE 802.11be超高吞吐量(EHT)单用户波形[1].本例对[第36.3.18节中规定的配置的波形执行发射机调制精度、所需的光谱掩模和所需的光谱平坦度测量。1].

示例生成20个单用户EHT报文,信道带宽为320 MHz,报文之间的间隔为10微秒。每个数据包包含随机数据,使用4096-QAM。该示例使用比标称基带速率所需的更大的IFFT对波形进行过采样,并且不执行频谱滤波。该示例使用了大功率放大器(HPA)模型,该模型引入了带内失真和频谱再生。本例对高功率放大器建模后的上采样波形进行光谱发射掩模测量。该示例对EHT数据场进行解码,并测量误差矢量幅度(EVM),以确定将波形下采样到基带采样率后的调制精度。此外,该示例测量恢复波形的谱平坦度。该图显示了示例中包含的工作流。

仿真设置

将示例配置为生成20个单用户EHT报文,每个报文之间空闲时间为10微秒。

numPackets =20.;idleTime =10%(微秒)

802.11be波形配置和生成

802.11be的物理层,在P802.11be Draft 0.1中定义[1],基于802.11ax [2这些新增的功能和修改。

  1. 增加最大通道带宽320mhz

  2. MCS索引选项12和13中的4096-QAM

  3. 将多个资源单元(MRU)分配给单个站(STA),并可选地刺穿单个用户数据包

  4. 增加上行MU-MIMO的最大空间流数(最多8个用户的16个空间流)

  5. 修改80mhz和160mhz带宽的音调计划

  6. 用于数据场扰频器和反扰频器的较大生成器多项式

本例模拟了这些关键的802.11be特性。

  1. 320 MHz信道带宽

  2. 4096 - qam调制

  3. 修改80mhz和160mhz带宽的音调计划

  4. 用于数据场扰频器和反扰频器的较大生成器多项式

该标准草案定义了用于单用户和多用户数据包传输的EHT多用户(EHT MU)格式。本例只支持生成单用户报文。万博1manbetx使用EHT MU配置对象,ehtMUConfig,配置EHT MU报文的传输属性。本例中U-SIG和EHT-SIG信令字段采用随机比特的方式生成。属性的相关属性可以指定随机种子位或字段位值ehtMUConfig对象。U-SIG位和EHT-SIG位的取值会影响报文的峰值平均功率比(PAPR)。因为这个例子没有使用空时分组编码,所以它可以测量每个空间流的调制精度。

chanBW =“CBW320”通道带宽%mcs =12调制和编码方案numTx =1%发射天线个数apepLength =8000% A-MPDU eof前填充长度(以字节为单位)savedState = rng(0);%设置随机状态cfgEHT = ethmuconfig (chanBW);% EHT MU配置对象cfgEHT。numtransmitantenna = numTx;cfgEHT.User{1}。MCS = MCS;cfgEHT.User{1}。NumSpaceTimeStreams = numTx;cfgEHT.User{1}。APEPLength = APEPLength;cfgEHT.RU{1}。SpatialMapping =“直接”

为了模拟大功率放大器对波形的影响并查看带外光谱发射,必须对波形进行过采样。本例使用比标称基带速率所需的更大的IFFT生成波形,导致过采样波形。本例不执行光谱滤波。

osf =4%过采样因子

为所有数据包创建随机位。

psduLength = cfgEHT.getPSDULength*8;% PSDU长度(单位:比特/包)data = randi([0 1],psduLength*numPackets,1);

函数生成指定位和配置的EHT MU波形ehtWaveformGenerator函数,指定所需的过采样因子、包数和每个包之间的空闲时间。

tx波形= ehtWaveformGenerator(数据,cfgEHT,“NumPackets”numPackets,“IdleTime”e-6, idleTime * 1,“OversamplingFactor”(osf);

得到波形的基带采样率

fs = ehtSampleRate(cfgEHT);disp ([基带采样率:num2str (fs / 1 e6)“议员”]);
基带采样率:320 Msps

前置零波形,以允许早期定时同步。

tx波形=[零(圆(idleTime*1e-6*fs),numTx);txWaveform];

添加障碍

大功率放大器建模

大功率放大器以带内畸变和频谱再生的形式引入非线性行为。本例使用Rapp模型模拟功率放大器[3.],这会导致AM/AM失真。

模型放大器使用dsp。FIRInterpolator对象,并通过指定后退来配置减少失真,hpaBackoff,使放大器在饱和点以下工作。对于较高的MCS值,您可以增加回退以降低EVM。

p饱和度= 25;功率放大器的饱和功率% dBmhpaBackoff = 16;%功率放大器回退,单位为dB非线性;非线性。方法=“拉普模式”;非线性。平滑度= 3;% p参数非线性。线性增益= -hpaBackoff;非线性。OutputSaturationLevel = db2mag(pSaturation-30);

将模型添加到每个发射天线。

我= 1:cfgEHT。numtransmitantenna tx波形(:,i) =非线性(tx波形(:,i));结束

热噪声

向波形中添加热噪声,指定6 dB接收机噪声图[4].

Nf = 6;%噪音系数(dB)BW = fs*osf;%带宽(Hz)K = 1.3806e-23;%玻尔兹曼常数(J/K)T = 290;%环境温度(K)noisePower = 10*log10(k*T*BW)+NF;awgnChannel = com . awgnChannel (“NoiseMethod”“方差”“方差”10 ^ (noisePower / 10));tx波形= awgnChannel(tx波形);

调制精度(EVM)与光谱平坦度测量

下采样和滤波

将过采样波形重新采样至基带,用于物理层处理、EVM和频谱平坦度测量,在降采样前应用低通抗混叠滤波器。低通滤波器的影响在光谱平坦度测量中可见。抗混叠滤波器的设计使所有有源子载波都在滤波器通带内。

设计重采样滤波器。

stop = 40;阻带衰减%ofdmInfo = ehtOFDMInfo(“EHT-Data”, cfgEHT);OFDM参数SCS = fs/ofdmInfo.FFTLength;子载波间距%txbw = max(abs(ofdmInfo.ActiveFrequencyIndices))*2*SCS;已占用带宽百分比[L,M] =鼠(osf);maxLM = max([L M]);R = (fs-txbw)/fs;TW = 2*R/maxLM;%过渡宽度b = designMultirateFIR(L,M,TW, stopp);

将波形重新采样到基带。

firinterp = dsp.FIRRateConverter(M,L,b);rx波形= firinterp(tx波形);

接收处理

本节检测、同步和提取数据包rxWaveform,然后测量EVM和谱平坦度。对于每个包,示例执行以下步骤。

  • 检测数据包的开始

  • 提取遗留字段

  • 估计和纠正粗载波频偏(CFO)

  • 使用经过频率校正的遗留字段进行精细的符号计时估计

  • 使用精细符号定时偏移量从波形中提取数据包

  • 用粗略的CFO估计修正提取的包

  • 提取L-LTF,然后估计并修正精细CFO

  • 提取EHT-LTF并对每个发送流执行信道估计

  • 利用信道估计方法测量光谱平坦度

  • 提取和OFDM解调EHT数据场

  • 通过使用解调数据场导频和导频子载波上的单流信道估计进行噪声估计

  • 通过使用信道和噪声估计对EHT数据场进行相位校正和均衡

  • 对于每个空间流中的每个数据携带子载波,找到最近的星座点并测量EVM

  • 通过解码均衡符号恢复PSDU

该图显示了处理链。

这个例子进行了两种不同的EVM测量。

  1. 每个包的RMS EVM,包括子载波、OFDM符号和空间流上的EVM的平均值。

  2. 一个包的每个子载波每个空间流的RMS EVM。由于这种配置将空间流直接映射到天线,因此这种测量可以帮助检测频率相关的损伤,这可能会对各个射频链产生不同的影响。该测量仅对OFDM符号上的EVM取平均值。

设置EVM测量。

[EVMPerPkt,EVMPerSC] = evmSetup(cfgEHT);

获取用于访问时域数据包中的每个字段的索引。

ind = ethfieldindices (cfgEHT);

定义样本中数据的最小可检测长度。

minPktLen = double(ind.LSTF(2)-ind.LSTF(1))+1;

检测和处理接收波形内的包循环,它执行这些步骤。

  1. 通过索引来检测包rxWaveform通过样本偏移量,searchOffset

  2. 检测和处理内的第一个包rxWaveform

  3. 通过增加样本索引偏移量来检测和处理下一个数据包

  4. 重复此操作,直到检测不到其他数据包为止

rxWaveformLength = size(rxwavelength,1);pktLength = double(ind. ethtdata (2));rmsEVM = 0 (numPackets,1);pktOffsetStore = 0 (numPackets,1);rng (savedState);%恢复随机状态pktNum = 0;searchOffset = 0;%第一次取样开始(无偏移)(searchOffset + minPktLen) < = rxWaveformLength检测数据包并确定粗数据包偏移pktOffset = ethpacketdetect (rx波形,cfgEHT.ChannelBandwidth,searchOffset);%从波形开始的数据包偏移量pktOffset = searchOffset+pktOffset;如果L-STF为空,跳过包如果isempty(pktOffset) || (pktOffset<0) ||...((pktOffset + ind.LSIG (2)) > rxWaveformLength)打破结束提取L-STF并进行粗频偏校正nonht = rx波形(pktOffset+(ind.LSTF(1):ind.LSIG(2)),:);coarfreqoff = ehtCoarseCFOEstimate(nonht,cfgEHT.ChannelBandwidth);nonht = helperFrequencyOffset(nonht,fs,-粗糙freqoff);提取遗留字段并确定精细包偏移量lltfOffset = ehtSymbolTimingEstimate(nonht,cfgEHT.ChannelBandwidth);pktOffset = pktOffset+lltfOffset;确定数据包偏移量%如果偏移量超出波形的边界,则跳过采样和%继续搜索剩余的波形如果(pktOffset<0) || ((pktOffset+pktLength)>rxWaveformLength) searchOffset = pktOffset+double(ind.LSTF(2))+1;继续结束%定时同步完成;提取检测到的数据包rxPacket = rx波形(pktOffset+(1:pktLength),:);pktNum = pktNum+1;disp ([“包”num2str (pktNum)' at index: 'num2str (pktOffset + 1)]);对提取的数据包进行粗频率校正rxPacket = helperFrequencyOffset(rxPacket,fs,-粗糙freqoff);对提取的数据包执行精细的频偏校正lltf = rxPacket(ind.LLTF(1):ind.LLTF(2),:);提取L-LTFfineFreqOff = ethfinecfoestimate (lltf,cfgEHT.ChannelBandwidth);rxPacket = helperFrequencyOffset(rxPacket,fs,-fineFreqOff);提取EHT-LTF样本,解调,并进行信道估计ethtltf = rxPacket(ind. ethtltf (1):ind. ethtltf (2),:);ethltfdemod = ethltf (ethltf,“EHT-LTF”, cfgEHT);%渠道估计[chanEst,pilotEst] = etltfchannelestimate (etltfdemod,cfgEHT);谱平坦度测量ehtTxSpectralFlatnessMeasurement(成龙、cfgEHT pktNum);数据解调rxData = rxPacket(ind. ethtdata (1):ind. ethtdata (2),:);demodSym = ehtDemodulate(rxData,“EHT-Data”, cfgEHT);导频相位跟踪demodSym = ethcommonphaseerrortracking (demodSym,chanEst,cfgEHT);估计EHT场的噪声功率nVarEst = ethtnoiseestimate (demodSym(ofdmInfo.PilotIndices,:,:),pilotEst,cfgEHT);从解调的符号和信道中提取数据子载波%的估计demodDataSym = demodSym(ofdinfo . dataindices,:,:);chanEstData = chanEst(ofdinfo . dataindices,:,:);%平衡和STBC结合[eqSym,csi] = ehtEqualizeCombine(demodDataSym,chanEstData,nVarEst,cfgEHT);计算一个包的所有空间流上的RMS EVMrmsEVM(pktNum) = EVMPerPkt(eqSym);流(' RMS EVM: %2.2f%%, %2.2fdB\n'rmsEVM (pktNum), 20 * log10 (rmsEVM (pktNum) / 100));计算每个子载波和包的空间流的RMS EVMevmPerSC = evmPerSC (eqSym);% Nst-by-1-by-Nss绘制每个子载波和均衡星座的RMS EVMehtTxEVMConstellationPlots (eqSym evmPerSC、cfgEHT pktNum);恢复数据字段位rxPSDU = ehtDataBitRecover(eqSym,nVarEst,csi,cfgEHT);如果isequal (rxPSDU数据((1:psduLength) + (pktNum-1) * psduLength))流(解码成功\n);其他的流(解码失败\n);结束存储波形内每个包的偏移量pktOffsetStore(pktNum) = pktOffset;增量波形偏移量并搜索数据包的剩余波形searchOffset = pktOffset+pktLength+minPktLen;结束
数据包1在索引:992
谱平坦度通过
RMS EVM: 0.41%, -47.69dB
解码成功
数据包2在索引:32352
谱平坦度通过
RMS EVM: 0.43%, -47.33dB
解码成功
数据包3在索引:63712
谱平坦度通过
RMS EVM: 0.43%, -47.26dB
解码成功
数据包4在索引:95072
谱平坦度通过
RMS EVM: 0.47%, -46.62dB
解码成功
数据包5在索引:126432
谱平坦度通过
RMS EVM: 0.46%, -46.79dB
解码成功
数据包6在索引:157792
谱平坦度通过
RMS EVM: 0.45%, -46.91dB
解码成功
数据包7在索引:189152
谱平坦度通过
RMS EVM: 0.43%, -47.27dB
解码成功
数据包8在索引:220512
谱平坦度通过
RMS EVM: 0.37%, -48.68dB
解码成功
数据包9在索引:251872
谱平坦度通过
RMS EVM: 0.48%, -46.45dB
解码成功
数据包10在索引:283232
谱平坦度通过
RMS EVM: 0.42%, -47.49dB
解码成功
数据包11在索引:314592
谱平坦度通过
RMS EVM: 0.37%, -48.69dB
解码成功
数据包12在索引:345952
谱平坦度通过
RMS EVM: 0.42%, -47.53dB
解码成功
数据包13在索引:377312
谱平坦度通过
RMS EVM: 0.43%, -47.27dB
解码成功
数据包14在索引:408672
谱平坦度通过
RMS EVM: 0.45%, -46.90dB
解码成功
数据包15在索引:440032
谱平坦度通过
RMS EVM: 0.47%, -46.58dB
解码成功
数据包16在索引:471392
谱平坦度通过
RMS EVM: 0.45%, -46.99dB
解码成功
数据包17在索引:502752
谱平坦度通过
RMS EVM: 0.41%, -47.84dB
解码成功
数据包18在索引:534112
谱平坦度通过
RMS EVM: 0.41%, -47.69dB
解码成功
数据包19在索引:565472
谱平坦度通过
RMS EVM: 0.54%, -45.29dB
解码成功
数据包20在索引:596832

图中包含一个轴。标题为Spectral Flatness, Packet:20的轴包含3个类型线的对象。这些对象表示天线1,偏差限制。

谱平坦度通过
RMS EVM: 0.41%, -47.66dB

图星座图包含一个轴和其他类型为uiflowcontainer、uimenu、uitoolbar的对象。标题为均等数据符号,包:20的轴包含2个类型为line的对象。该对象表示空间流1。

解码成功
如果pktNum > 0流(' %d数据包的平均EVM: %2.2f%%, %2.2fdB\n'...pktNum,意味着(rmsEVM (1: pktNum)), 20 * log10(平均(rmsEVM (1: pktNum)) / 100));其他的disp (“未检测到完整的数据包”);结束
20包平均EVM: 0.44%, -47.21dB

光谱掩模测量

本节测量经过高功率放大器建模后滤波和受损波形的频谱掩模。发射机光谱掩模测试[5]使用EHT数据场的时间门控光谱测量。本例通过使用基带波形内每个包的起始索引从过采样波形中提取每个包的EHT Data字段。用于确定包索引的基带处理链中引入的任何延迟,在对EHT数据字段进行门控时都必须考虑在内txWaveform.连接提取的EHT数据字段,为测量做准备。

startIdx = osf*(ind. ethtdata (1)-1)+1;% EHT数据上抽样开始endIdx = osf*ind. ethtdata (2);% EHT数据上采样结束延迟= grpdelay(firinterp,1);%下采样滤波器组延迟idx = 0 (endIdx-startIdx+1,pktNum);i = 1:pktNumtx波形中包的开始pktoffsetset = round(osf*pktOffsetStore(i))-delay;tx波形中EHT-Data的%指标idx(:,i) = (pktOffset+(startIdx:endIdx));结束gatedEHTTData = tx波形(idx(:),:);

802.11be标准规定了相对于峰值功率谱密度的频谱掩码。生成的图将所需的掩码与测量的PSD叠加。

如果pktNum > 0 ehtSpectralMaskTest (fs, gatedEHTTData osf);结束
光谱掩模通过

图频谱分析仪,发射天线1包含一个轴和其他类型的对象uiflowcontainer, uimenu, uitoolbar。坐标轴包含patch、line类型的2个对象。这些对象代表下掩码,上掩码,发射天线1。

结论及进一步探索

这个例子测量和绘制:

  • 光谱平坦

  • 每子载波的RMS EVM

  • 平衡的星座

  • 光谱面具

大功率放大器模型引入了显著的带内失真和光谱再生,这在EVM结果、噪声星座和光谱掩模图中的带外发射中可见。尝试增加大功率放大器的回退,观察改进的EVM、星座和更低的带外发射。下采样(将波形带到基带进行处理)阶段包括滤波。滤波器响应影响光谱平坦度的测量。光谱平坦度测量中的纹波是由于下采样到基带造成的。尝试使用不同的滤波器或改变阻带衰减,观察对光谱平坦度的影响。

参考文献

  1. IEEE P802.11be™/D0.1信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件8:超高吞吐量(EHT)增强

  2. IEEE P802.11ax™/D7.0信息技术标准草案。系统间的电信和信息交换。局域网和城域网。特殊要求。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范。修改件1:高效WLAN的增强。

  3. Loc和Cheong。IEEE P802.11无线局域网。TGac功能需求和评估方法,修订版16。2011-01-19。

  4. 佩拉希亚,E.和R.斯泰西。下一代无线局域网:802.11n和802.11ac。第二版。英国:剑桥大学出版社,2013年。阿尔康博,杰里,还有沙文·苏里尼。使用矢量信号分析仪的IEEE 802.11频谱测量。射频设计27.6(2004):38-49。

  5. 阿尔康博,杰里,还有沙文·苏里尼。使用矢量信号分析仪的IEEE 802.11频谱测量。射频设计27.6(2004):38-49。