主要内容

802.11交流包错误率模拟8×8 TGac通道

这个例子展示了如何衡量一个IEEE®802.11的包错误率ac™VHT TGac褪色的链接使用一个端到端的模拟信道模型和加性高斯白噪声。

介绍

在这个例子中一个端到端的模拟被用来确定一个802.11的包错误率ac (1]VHT链接与衰落信道信噪比点的选择。在每一个信噪比点多个数据包通过一个通道传输,解调和PSDUs恢复。PSDUs相比那些传播决定数据包的数量错误,因此包错误率。数据包检测、定时同步、载波频率偏移校正和相位跟踪正在执行的接收器。每个数据包的处理总结在下面

这个示例还演示了如何parfor循环可以代替使用循环时模拟每一个信噪比点加速模拟。的parfor函数,作为并行计算工具箱的一部分™,执行并行处理每个信噪比降低总的仿真时间。

波形的配置

802.11交流VHT传输模拟。VHT格式配置对象,wlanVHTConfig,包含特定于格式传输的配置。对象包含的属性配置。在这个例子中,对象是配置为一个80 MHz通道带宽,8传输天线,8时空流,没有时空块编码和256 - qam rate-5/6 (MCS 9)。

%创建格式配置对象8-by-8 VHT传播cfgVHT = wlanVHTConfig;cfgVHT。ChannelBandwidth =“CBW80”;% 80 MHz带宽通道cfgVHT。NumTransmitAntennas = 8;% 8传输天线cfgVHT。NumSpaceTimeStreams = 8;% 8时空流cfgVHT。一个PEPLength = 3000;% APEP长度字节cfgVHT。MCS = 9;% 256 - qam rate-5/6

通道配置

在这个例子中一个TGac N-LOS通道模型是使用延迟模型。模型在发射机和接收机之间的距离大于或等于10米,模型是仿真结果。这是进一步描述wlanTGacChannel。一个8×8 MIMO信道模拟在这个例子因此8指定接收天线。

%创建和配置通道tgacChannel = wlanTGacChannel;tgacChannel。DelayProfile =“模型”;tgacChannel。NumReceiveAntennas = 8;tgacChannel。TransmitReceiveDistance = 10;%在米距离了仿真结果tgacChannel。ChannelBandwidth = cfgVHT.ChannelBandwidth;tgacChannel。NumTransmitAntennas = cfgVHT.NumTransmitAntennas;tgacChannel。LargeScaleFadingEffect =“没有”;tgacChannel。NormalizeChannelOutputs = false;

仿真参数

为每一个信噪比点的向量信噪比生成的数据包数量,通过一个通道和确定包错误率解调技术。

信噪比= 40:5:50;

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

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

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

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

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

设置剩余变量的模拟。

%得到基带采样率fs = wlanSampleRate (cfgVHT);%的OFDM信息ofdmInfo = wlanVHTOFDMInfo (“VHT-Data”,cfgVHT);%设置通道的采样率tgacChannel。SampleRate = f;%访问时域数据包中的每个字段的索引印第安纳州= wlanFieldIndices (cfgVHT);

处理信噪比点

为每一个信噪比点的数据包数量进行测试,计算包错误率。

为每一个包发生以下处理步骤:

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

  2. 波形通过不同TGac通道模型的实现。

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

  4. 检测到数据包。

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

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

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

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

  9. VHT数据字段从同步接收波形中提取。PSDU恢复使用提取的字段和信道估计。

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

S =元素个数(信噪比);packetErrorRate = 0(年代,1);% parfor i = 1: S %使用parfor加快仿真i = 1: S%使用‘为’调试仿真%设置随机substream每迭代确保每个索引%迭代使用一组可重复的随机数字流= RandStream (“combRecursive”,“种子”,0);流。Substream =我;RandStream.setGlobalStream(流);%噪声能量占null信噪比是每个定义的%活跃副载波packetSNR =信噪比(i) -10 * log10 (ofdmInfo.FFTLength / ofdmInfo.NumTones);%循环模拟多个数据包numPacketErrors = 0;numPkt = 1;%指数数据包传输numPacketErrors < = maxNumErrors & & numPkt < = maxNumPackets%生成一个数据包波形txPSDU =兰迪([0,1],cfgVHT.PSDULength * 8, 1);% PSDULength以字节为单位tx = wlanWaveformGenerator (txPSDU cfgVHT);% 0添加到允许通道延迟tx = [tx;0 (50,cfgVHT.NumTransmitAntennas)];% #好< AGROW >%通过波形通过衰落信道模型重置(tgacChannel);%重置渠道不同的实现rx = tgacChannel (tx);%添加噪声rx = awgn (rx, packetSNR);%包检测和确定粗包抵消cfgVHT.ChannelBandwidth 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 cfgVHT.ChannelBandwidth);rx = helperFrequencyOffset (rx, fs -coarseFreqOff);%提取non-HT领域并确定好包抵消nonhtfields = rx (coarsePktOffset + (ind.LSTF (1): ind.LSIG (2)),:);finePktOffset = wlanSymbolTimingEstimate (nonhtfields,cfgVHT.ChannelBandwidth);%确定最终包抵消pktOffset = coarsePktOffset + finePktOffset;%如果给予包检测的范围预计延误的%信道建模;包错误如果pktOffset > 50 numPacketErrors = numPacketErrors + 1;numPkt = numPkt + 1;继续;%去下一个循环迭代结束%提取L-LTF并执行好频率偏移校正lltf = rx (pktOffset + (ind.LLTF (1): ind.LLTF (2)),:);fineFreqOff = wlanFineCFOEstimate (lltf cfgVHT.ChannelBandwidth);rx = helperFrequencyOffset (rx, fs -fineFreqOff);%从波形中提取VHT-LTF样本,解调并执行%信道估计vhtltf = rx (pktOffset + (ind.VHTLTF (1): ind.VHTLTF (2)),:);vhtltfDemod = wlanVHTLTFDemodulate (vhtltf cfgVHT);%得到单一河道的估计chanEstSSPilots = vhtSingleStreamChannelEstimate (vhtltfDemod cfgVHT);%信道估计陈= wlanVHTLTFChannelEstimate (vhtltfDemod cfgVHT);%从波形中提取VHT数据样本vhtdata = rx (pktOffset + (ind.VHTData (1): ind.VHTData (2)),:);%的噪声功率估计VHT数据字段nVarVHT = vhtNoiseEstimate (vhtdata chanEstSSPilots cfgVHT);%恢复PSDU VHT数据传输rxPSDU = wlanVHTDataRecover (vhtdata,成龙、nVarVHT cfgVHT);%确定任何比特错误,即数据包错误packetError =任何(biterr (txPSDU rxPSDU));numPacketErrors = numPacketErrors + packetError;numPkt = numPkt + 1;结束%计算包错误率在信噪比点(/)packetErrorRate (i) = numPacketErrors / (numPkt-1);disp ([“信噪比”num2str(信噪比(i))完成后的num2str (numPkt-1)“每包:”num2str (packetErrorRate (i))));结束
信噪比40完成11包,之后每:1信噪比45完成15包,之后每:0.73333信噪比50 100包完成后,每:0.04

图包误码率与信噪比的结果

图semilogy(信噪比、packetErrorRate“ob”);网格;包含(“信噪比(dB)”);ylabel (“每”);标题(802.11交流80 mhz, MCS9,直接映射,8×8通道模型D-NLOS”);

进一步的探索

数据包的数量在每个信噪比测试点是由两个参数控制;maxNumErrorsmaxNumPackets。有意义的建议,结果这些值应该比那些在这个例子。增加数据包的数量模拟允许每个不同场景下进行比较。试着改变发射和接受配置和比较包错误率。作为一个例子,下面的图是由运行的例子maxNumErrors:1000,maxNumPackets:10000。

附录

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

选定的参考书目

  1. IEEE Std 802.11 ac™-2013 IEEE标准信息技术——之间的通信和信息交换系统-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-第四修正案:增强对高吞吐量在乐队低于6 GHz。