主要内容

802.11 OFDM信标接收机捕获数据

这个例子显示了一个接收机设计,能够恢复802.11™OFDM信标non-HT格式的数据包传输的空气从商业802.11硬件。灯塔数据包通常以non-HT格式传输,即使对HT (1],VHT [1),和/或他(2)硬件能力。数据包信息,如名称打印命令行中复苏。

介绍

这个例子说明了WLAN的使用工具箱™恢复现实世界的信号。它演示了一个接收机设计包括同步传输配置恢复和负载non-HT数据包解码。例子复苏信标数据包从一个文件中包含一个捕获的基带波形。

灯塔包复苏

以下步骤发生顺序恢复一个non-HT包:

  • 包检测:首先一个数据包必须检测到任何处理之前就开始了。这是通过auto-correlating输入符号。因为前面每个802.11 OFDM包包含一个重复的结构称为L-STF,峰值将发生在当这包存在的相关性。然后L-STF字段中提取,用于粗频率估计。

  • 符号时间:一旦发现一个包,未来的符号将收集和阐述来定位L-LTF。由此产生的相关峰提供一个精确的时间估计。一旦全部L-LTF所在地,它提取并用于信道估计和频率估计。

  • L-SIG解码:第一个OFDM符号在L-LTF L-SIG字段。这个字段必须恢复和解码来确定调制、编码速率,长度以下载荷。用于捕获的信息正确后的数据量L-SIG完成载荷和解码的信息。

  • 有效载荷解码:所有OFDM符号L-SIG缓冲后由L-SIG字段长度。所有的符号都被抓获后解调和解码源比特。源位然后评估。这个评估包括帧校验序列(FCS)验证和提取的头和身体。如果子类型的包是灯塔,汇总信息,如名称将打印的恢复包。

一旦接收到一个完整的包或任何失败发生在处理链,接收者将返回数据包检测来寻找更多的数据包。这个过程重复信号的持续时间。

对捕获的数据流过程

在这个例子中一个停播捕获信标帧恢复处理。wi - fi®信号被使用一个射频接口和一个接收天线的采样率20议员。捕获的波形存储在一个二进制基带文件。使用创建的文件comm.BasebandFileWriter

以流的方式捕获的波形处理。一块样品是在每次迭代中进行处理。尽可能多的获取有效的数据包。comm.BasebandFileReader用于读取二进制基带样本块文件。

%创建一个对象流的数据文件basebandReader = comm.BasebandFileReader (“文件名”,“nonHTBeaconRxData.bb”,“SamplesPerFrame”,80);% 1 OFDM符号的样本数量在20 MHz

中心频率、采样率和捕获的波形的频道数量由comm.BasebandFileReader对象提供。

disp ([的中心频率:num2str (basebandReader.CenterFrequency / 1 e6)“兆赫”])disp ([的采样率:num2str (basebandReader.SampleRate / 1 e6)“议员”])disp ([的接收天线数量:num2str (basebandReader.NumChannels)换行符)
中心频率5785 MHz采样率:20议员接收天线数量:1

一个nonHTFrontEnd对象执行前端处理和L-SIG解码。对象配置的通道带宽20 MHz non-HT数据包的过程。只支持一个接收天线。金宝app

rxFrontEnd = nonHTFrontEnd (“ChannelBandwidth”,“CBW20”);

使用while循环过程的样本块和恢复信标数据包,直到没有更多的数据可以在基带文件。在每个迭代中循环的一块样品从基带文件读取和处理rxFrontEndrxFrontEnd执行前端处理样品和缓冲,直到发现一个包和接收到的有效载荷。当payloadFull是正确的,完整的负载已经缓冲,rxFrontEnd返回变量允许数据包中的数据恢复:

  • cfgNonHT包含恢复从L-SIG包参数。

  • rxNonHTData信号的时域non-HT数据字段。

  • 包含了从L-LTF获得信道估计。

  • noiseVar是固定的噪声方差值。

数据包有效载荷部分从non-HT恢复数据字段使用样品wlanNonHTDataRecover。然后验证和解码比特wlanMPDUDecode恢复MAC帧参数。wlanMPDUDecode返回下面的输出,确定是否接收到的数据包通过FCS检查和接收到的数据包是否信标帧。

  • mpduCfg是一个类型的对象wlanMACFrameConfig包含MAC帧参数从信标帧中恢复过来。

  • 状态枚举类型的吗状态这是返回“成功”当MPDU经过FCS检查和作为“FCSFailed”MPDU失败返回FCS检查。

如果检测到一个有效的灯塔,解码显示名称。

% Symbol-by-symbol流过程numValidPackets = 0;~结束(basebandReader)%拉在一个OFDM符号,即80个样本data = basebandReader ();%执行前端处理和有效载荷的缓冲[payloadFull, cfgNonHT rxNonHTData,成龙,noiseVar] =rxFrontEnd(数据);如果payloadFull%恢复有效载荷部分zero-forcing均衡recBits = wlanNonHTDataRecover (rxNonHTData,陈,noiseVar cfgNonHT,“EqualizationMethod”,“ZF”);%解码和评估恢复部分[mpduCfg、~、状态]= wlanMPDUDecode (recBits cfgNonHT);如果比较字符串(状态,“成功”)& & strcmp (mpduCfg.FrameType“灯塔”)frameBody = mpduCfg.ManagementConfig;%显示名称disp ([的名称:,frameBody.SSID]) numValidPackets = numValidPackets + 1;结束结束结束disp ([num2str (numValidPackets),“有效的包发现灯塔”)发布(basebandReader);释放(rxFrontEnd);
名称:MathWorks-SDR名称:MathWorks-SDR名称:MathWorks-SDR 3有效数据包找到了灯塔

进一步的探索

看到802.11与USRP OFDM信标接收机硬件与USRP实时信号处理的一个例子。

附录

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

选定的参考书目

  1. -2020年IEEE Std 802.11™。IEEE标准信息技术——之间的通信和信息交换系统-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层规范(体育)。

  2. IEEE Std 802.11 ax™-2021。IEEE标准信息技术——之间的通信和信息交换系统-本地和市区网络特定需求-第11部分:无线局域网介质访问控制(MAC)和物理层(体育)规范-修正案1:高效WLAN的增强。