主要内容

802.11具有捕获数据的OFDM信标接收器

该示例显示了一个接收器设计,可以以商业802.11硬件从空中传输的非HT格式中恢复802.11™OFDM信标包。信标包通常以非HT格式传输,即使是HT [1],vht [1]和/或他[2功能硬件。在恢复期间打印到命令行之类的数据包信息。

介绍

此示例说明了使用WLAN Toolbox™来恢复真实信号。它展示了一种接收器设计,包括同步,传输配置恢复和非HT分组的有效载荷解码。该示例从包含捕获的基带波形的文件恢复信标包。

信标包恢复

以下步骤顺序地发生以恢复一个非HT数据包:

  • 数据包检测:首先必须在任何处理开始之前检测到数据包。这是通过自动关联输入符号来实现的。由于每个802.11 OFDM分组的前部包含称为L-STF的重复结构,因此在存在此分组时的相关性中将发生峰值。然后提取L-STF字段并用于粗略频率估计。

  • 符号时序:一旦检测到数据包,将收集未来的符号并交联以定位L-LTF。得到的相关峰值提供了准确的计时估计。一旦全L-LTF所在,就会提取并用于信道估计和细频率估计。

  • L-SIG解码:L-LTF后的第一个OFDM符号是L-SIG字段。必须恢复和解码此字段以确定以下有效载荷的调制,代码率和长度。该信息用于在L-SIG后捕获正确的数据量,以完成完整的有效载荷并解码该信息。

  • 有效载荷解码:L-SIG后的所有OFDM符号被缓冲到由L-SIG字段确定的长度。在捕获所有符号之后,它们被解调并解码到其源位。然后评估源位。该评估包括帧检查序列(FCS)验证和提取标题和主体。如果数据包是子类型信标,则将为恢复的数据包打印诸如SSID之类的摘要信息。

一旦收到完整数据包或处理链期间发生任何故障,接收器将返回到数据包检测以搜索更多数据包。在信号持续时间重复该过程。

捕获数据的流过程

在该示例中,处理空中捕获以恢复信标帧。使用RF接口捕获Wi-Fi®信号,RF接口以一个接收天线为20 MSP的采样率。捕获的波形存储在二进制基带文件中。该文件使用comm.basebandfilewriter.

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

%创建一个对象来从文件中排序数据baseBandReader = Comm.BaseBandFilereader(......'文件名''nonhtbeaconrxdata.bb'......'samplesperframe',80);%在20 MHz的1个OFDM符号中的百分比数量

Comm.BaseBandFilereader对象提供捕获波形中的中心频率,采样率和通道数。

DISP(['中心频率:'num2str(baseBardReader.Centerfrequency / 1E6)'MHz'])disp(['采样率: 'num2str(baseBardReader.Samplege / 1E6)'msps'])disp(['接收天线数:'num2str(basebandreader.numchannels)newline])
中心频率:5785 MHz采样率:20 MSPS接收天线数:1

一种unhtfrontend.对象执行前端处理和L-SIG解码。该对象配置有20MHz的信道带宽以处理非HT分组。仅支持一个接收天线。金宝app

rxfrontend = nonhtfrontend('信道带宽''CBW20');

一段时间循环用于处理样本块并恢复信标包,直到基带文件中没有更多数据。在循环的每个迭代中,从基带文件读取一块样本并由地处理rxfrontend.rxfrontend.执行前端处理和缓冲器样本,直到检测到数据包并接收有效载荷。什么时候有效载荷是真的,完整的有效载荷缓冲了rxfrontend.返回变量以允许要恢复数据包中的数据:

  • cfgnonht.包含来自L-SIG的恢复的分组参数。

  • rxnonhtdata.是时域非HT数据字段信号。

  • ch包含从L-LTF获得的信道估计值。

  • 诺伊瓦尔是固定噪声方差值。

通过使用非HT数据字段样本恢复数据包有效载荷位Wlannonhtdatarecover。然后通过验证和解码位wlanmpdudecode.恢复MAC帧参数。wlanmpdudecode.返回以下输出,以确定接收到的数据包是否通过FCS检查以及接收到的数据包是否是信标帧。

  • mpducfg.是一种类型的对象wlanmacframeconfig.包含来自信标帧的恢复的MAC帧参数。

  • 地位是一种类型的枚举地位当MPDU通过FCS检查时返回为“成功”,当MPDU失败FCS检查时返回为“FCSFAILED”。

如果检测到有效的信标,则会显示解码的SSID。

逐个符号符号流过程numvalidpackets = 0;尽管〜ISDONE(BasebandReader)%拉在一个OFDM符号中,即80个样本data = basebandreader();%执行前端处理和有效载荷缓冲[PAYLOADFULL,CFGNONHT,RXNONHTDATA,CHANEST,NOISEVAR] =......rxfrontend(数据);如果有效载荷%恢复具有零强制均衡的有效载荷位Revbits = wlannonhtdatarecover(rxnonhtdata,chanest,......Noisevar,cfgnonht,'均衡 - 方法''ZF');%解码和评估恢复的位[mpducfg,〜,status] = wlanmpdudecode(covbits,cfgnonht);如果Strcmp(状态,'成功')&& strcmp(mpducfg.frametype,'灯架')Framebody = MPDucfg.ManagementConfig;%显示SSID.DISP(['SSID:',framebody.siD])NumValidPackets = NumValidPackets + 1;结尾结尾结尾disp([num2str(numvalidpackets),'找到有效的信标包'])释放(BaseBandReader);释放(rxfrontend);
SSID:MathWorks-SDR SSID:MathWorks-SDR SSID:MathWorks-SDR 3找到有效信标包

进一步的探索

802.11具有USRP®硬件的OFDM信标接收器有关使用USRP处理实时信号的示例。

附录

此示例使用以下辅助功能和对象:

选定的书目

  1. IEEE®STD802.11™-2016信息技术的IEEE标准 - 系统之间的电信和信息交流 - 本地和大都市区域网络 - 特定要求 - 第11部分:无线LAN介质访问控制(MAC)和物理层(PHY)规格。

  2. IEEE P802.11AX™/ D4.1信息技术标准标准草案 - 系统本地和大都市区域网络之间的电信和信息交流 - 特定要求第11部分:无线LAN介质访问控制(MAC)和物理层(PHY)规格 - 修正6:高效WLAN的增强。