端到端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