主要内容

端到端VHT模拟带有频率校正

此示例显示了如何生成,传输,恢复和查看VHT MIMO波形。

示例中的步骤:

  • 通过AWGN通过MIMO通道传输VHT波形

  • 执行两个阶段的过程以估计和纠正频率偏移

  • 估计频道响应

  • 恢复VHT数据字段

  • 比较传输和接收的PSDU以确定是否发生了位错误

设置整个示例中使用的参数。

CBW ='cbw160';% 信道带宽FS = 160E6;样本率(Hz)的%ntx = 2;传输天线数量的%nsts = 2;时空流的%NRX = 2;接收天线的百分比

创建一个支持2x2 MIMO传输的VHT配置对象,并且APEP长度为2000。金宝app

vht = wlanvhtconfig('信道带宽',CBW,“ apeplength”,2000年,...'num Transmitantennas',ntx,“ numspacetimestreams”,nst,...“空间映射”,,,,'直接的',,,,'stbc',错误的);

生成包含随机PSDU的VHT波形。

txpsdu = randi([0 1],vht.psdulength*8,1);txppdu = wlanwaveformgenerator(txpsdu,vht);

创建一个2x2 TGAC通道和AWGN通道。

tgacchan = wlantgacchannel('采样率',fs,'信道带宽',CBW,...'num Transmitantennas',ntx,'numReceiveAntennas',nrx,...“ largescalefadingeffect”,,,,“路径和阴影”,,,,...“延迟填充”,,,,'Model-C');awgnchan = comm.awgnchannel('noisemethod',,,,'方差',,,,...“变异”,,,,“输入端口”);

创建一个相/频率偏移对象。

pfoffset = comm.phasefrequencyOffset('采样率',fs,“ forreatoOffsetSource',,,,“输入端口”);

计算具有9 dB噪声图的接收器的噪声方差。通过嘈杂的TGAC通道传递传输波形。

nvar = 10^(( -  228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);rxppdu = awgnchan(tgacchan(txppdu),nvar);

引入500 Hz的频率偏移。

rxppducfo = pfoffset(rxppdu,500);

找到PPDU的所有组件字段的开始和停止索引。

ind = wlanfieldIndices(VHT);

提取L-STF。估计和正确的载体频率偏移。

rxlstf = rxppducfo(ind.lstf(1):ind.lstf(2),:);foffset1 = wlancoarsecfoestimate(rxlstf,cbw);rxppducorr = pfoffset(rxppducfo,-foffset1);

从校正信号中提取L-LTF。估计并正确删除剩余频率偏移。

rxlltf = rxppducorr(ind.lltf(1):ind.lltf(2),:);foffset2 = wlanfinecfoestimate(rxlltf,cbw);rxppdu2 = pfoffset(rxppducorr,-foffset2);

提取并解码VHT-LTF。估计通道系数。

rxvhtltf = rxppdu2(ind.vhtltf(1):ind.vhtltf(2),:);dltf = wlanvhtltfdemodulate(rxvhtltf,vht);胸部= wlanvhtltfChanneLestimate(DLTF,VHT);

从接收和频率校正的PPDU中提取VHT数据字段。恢复数据字段。

rxvhtdata = rxppdu2(ind.vhtdata(1):ind.vhtdata(2),:);rxpsdu = wlanvhtdataRecover(rxvhtdata,胸部,nvar,vht);

计算接收到的数据包中的位错误数。

numerr = biterr(txpsdu,rxpsdu)
numerr = 0