基本VHT数据恢复步骤

此示例显示如何执行基本的VHT数据恢复。它还示出了如何在接收信号具有载波频率偏移时恢复VHT数据。类似的过程可用于通过HT和非HT格式恢复数据。

基本数据恢复

WLAN Toolbox™提供符合WavenForms生成和恢复IEEE®802.11ac™标准的功能。数据恢复是通过以下步骤完成的:

  1. 生成VHT波形

  2. 通过频道传递波形

  3. 提取VHT-LTF并解调

  4. 通过使用解调的VHT-LTF来估计通道

  5. 提取数据字段

  6. 使用频道和噪声方差估计恢复数据

框图显示了这些步骤以及它们的相应命令。

创建VHT格式配置对象。

vht = wlanvhtconfig;

使用VHT配置对象创建VHT传输波形。将数据序列设置为[1; 0; 1; 1]。重复数据序列以生成指定数量的数据包。

txsig = wlanwaveformgenerator([1; 0; 1; 1],VHT);

通过AWGN通道通过接收信号。

rxsig = awgn(txsig,10);

确定波形的字段索引。

IND = WLANFIELDINDIDICES(VHT);

从接收信号中提取VHT-LTF。

rxvhtltf = rxsig(ind.vhtltf(1):Ind.vhtltf(2),:);

解调VHT-LTF。通过使用解调信号估计信道响应。

emodvhtltf = wlanvhtltfdemodulate(rxvhtltf,vht);胸部= wlanvhtltfchannelestimate(demodvhtltf,vht);

提取VHT数据字段。

rxdata = rxsig(ind.vhtdata(1):Ind.vhtdata(2),:);

使用频道和噪声方差估计恢复信息位。确认前8位与输入数据序列的两次重复匹配[1; 0; 1; 1]

rxbits = wlanvhtdatarecover(rxdata,胸部,0.1,vht);rxbits(1:8)
ans =.8x1 INT8列向量1 0 1 1 1 0 1 1

数据恢复频率校正

当存在载波频率偏移时的数据恢复是通过以下步骤完成的:

  1. 生成VHT波形

  2. 通过频道传递波形

  3. 提取L-STF并执行粗略频率偏移估计

  4. 通过使用粗略估计来纠正偏移量

  5. 提取L-LTF并执行精细频率偏移估计

  6. 通过使用细估计来纠正偏移量

  7. 提取VHT-LTF并解调

  8. 通过使用解调的VHT-LTF来估计通道

  9. 提取数据字段

  10. 使用频道和噪声方差估计恢复数据

框图显示了这些步骤以及它们的相应命令。

设置通道带宽和采样率。

CBW ='CBW160';FS = 160E6;

创建一个支持2x2 MIMO传输的VHT配置对象。万博1manbetx

vht = wlanvhtconfig('信道带宽',cbw,......'numtransmitantennas'2,'numspacetimestreams',2);

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

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

创建2x2 TGAC通道。

tgacchan = wlantgacchannel('采样率',fs,'信道带宽',cbw,......'numtransmitantennas'2,'numreceiveantennas',2);

创建相位和频率偏移对象。

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

通过嘈杂的TGAC通道传递传输的波形。

rxsignonoise = tgacchan(txsig);rxsig = awgn(rxsignonoise,15);

将500 Hz的频率偏移引入接收信号。

rxsigfreqoffset = pfoffset(rxsig,500);

查找PPDU的所有组件字段的启动和停止索引。

IND = WLANFIELDINDIDICES(VHT);

提取L-STF。估计和校正载波频率偏移。

rxlstf = rxsigfreqoffset(Ind.lstf(1):Ind.lstf(2),:);foffset1 = wlancoarsecfoestimate(rxlstf,cbw);rxsig1 = pfoffset(rxsigfreqoffset,-foffset1);

从校正信号中提取L-LTF。估计和纠正残余频率偏移。

rxlltf = rxsig1(ind.lltf(1):Ind.lltf(2),:);foffset2 = wlanfinecfoestimate(rxlltf,cbw);rxsig2 = pfoffset(rxsig1,-foffset2);

提取并解调VHT-LTF。估计信道系数。

rxvhtltf = rxsig2(ind.vhtltf(1):Ind.vhtltf(2),:);emodvhtltf = wlanvhtltfdemodulate(rxvhtltf,vht);胸部= wlanvhtltfchannelestimate(demodvhtltf,vht);

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

rxdata = rxsig2(ind.vhtdata(1):Ind.Vhtdata(2),:);rxpsdu = wlanvhtdatarecover(rxdata,胸部,0.03,vht);

计算收到的数据包中的比特错误数。

numerr = biterr(txpsdu,rxpsdu)
numerr = 2