主要内容

基本VHT数据恢复

这个例子展示了如何执行基本的VHT数据恢复。它还展示了如何恢复VHT数据时,接收信号有载波频率偏移。可以使用类似的程序来恢复HT和非HT格式的数据。

基本数据恢复

WLAN工具箱™提供生成和恢复符合IEEE®802.11ac™标准的波形的功能。数据恢复过程包括以下步骤。

  1. 产生VHT波形

  2. 将波形通过通道传递

  3. 提取VHT-LTF并解调

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

  5. 提取数据字段

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

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

创建VHT配置对象。

cfg = wlanVHTConfig;

使用VHT配置对象创建VHT发送波形。将数据序列设置为[1, 0, 1, 1).波形生成器功能重复数据序列以生成指定的数据包数。

txSig = wlanWaveformGenerator ([1, 0, 1, 1), cfg);

将接收到的信号通过AWGN通道传递。

rxsig = awgn(txsig,10);

确定波形的场指数。

印第安纳州= wlanFieldIndices (cfg);

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

rxVHTLTF = rxSig (ind.VHTLTF (1): ind.VHTLTF (2):);

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

demodVHTLTF = wlanVHTLTFDemodulate (rxVHTLTF cfg);胸部= wlanVHTLTFChannelEstimate (demodVHTLTF cfg);

提取VHT数据字段。

rxData = rxSig (ind.VHTData (1): ind.VHTData (2):);

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

rxBits = wlanVHTDataRecover (rxData,胸部,0.1,cfg);rxBits (1:8)
ans =8x1 int8列向量1 0 1 1 1 1 1 1

带频率校正的数据恢复

存在载波频率偏移时的数据恢复是通过这些步骤完成的。

  1. 产生VHT波形

  2. 将波形通过通道传递

  3. 提取L-STF并进行粗频偏估计

  4. 用粗略的估计来校正偏移量

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

  6. 用精确的估计来校正偏移量

  7. 提取VHT-LTF并解调

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

  9. 提取数据字段

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

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

设置通道带宽和采样速率。

CBW ='CBW160';fs = 160 e6;

创建支持2x2 MIMO传输的VHT配置对象。金宝app

cfg = wlanVHTConfig (“ChannelBandwidth”,cbw,...'numtransmitantennas'2,'numspacetimestreams'2);

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

txPSDU = randi([0 1],cfg.PSDULength*8,1);txSig = wlanWaveformGenerator (txPSDU cfg);

创建2x2 TGAC通道。

tgacChan = wlanTGacChannel (“SampleRate”fs,“ChannelBandwidth”,cbw,...'numtransmitantennas'2,“NumReceiveAntennas”2);

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

pfOffset = comm.PhaseFrequencyOffset (“SampleRate”fs,“FrequencyOffsetSource”输入端口的);

将传输波形通过带噪声的TGac通道。

rxSigNoNoise = tgacChan (txSig);rxSig = awgn (rxSigNoNoise 15);

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

rxSigFreqOffset = pfOffset (rxSig, 500);

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

印第安纳州= wlanFieldIndices (cfg);

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

rxLSTF = rxSigFreqOffset (ind.LSTF (1): ind.LSTF (2):);foffset1 = wlanCoarseCFOEstimate (rxLSTF,生化武器);rxSig1 = pfOffset (rxSigFreqOffset -foffset1);

从修正后的信号中提取L-LTF。估计并校正剩余频率偏差。

rxLLTF = rxSig1 (ind.LLTF (1): ind.LLTF (2):);foffset2 = wlanFineCFOEstimate (rxLLTF,生化武器);rxSig2 = pfOffset (rxSig1 -foffset2);

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

rxVHTLTF = rxSig2 (ind.VHTLTF (1): ind.VHTLTF (2):);demodVHTLTF = wlanVHTLTFDemodulate (rxVHTLTF cfg);胸部= wlanVHTLTFChannelEstimate (demodVHTLTF cfg);

从接收到的频偏PPDU中提取VHT数据域。恢复数据字段。

rxData = rxSig2 (ind.VHTData (1): ind.VHTData (2):);rxPSDU = wlanVHTDataRecover (rxData,胸部,0.03,cfg);

计算接收报文的误码数。

numErr = biterr (txPSDU rxPSDU)
numerr = 2