主要内容

IEEE®802.11™WLAN - 具有USRP®硬件的OFDM信标接收器

此示例显示如何使用SDRU(软件定义的无线电USRP®)系统对象™来实现WLAN接收器的通用软件无线电外围设备(USRP®)设备。接收器能够恢复802.11 OFDM非HT信标帧[1]从商用802.11硬件通过空气传输。OFDM信标可以从802.11a/g/n/ac接入点传输,通常在5 GHz频段。在恢复过程中,报文的SSID、MAC地址等信息会被打印到命令行中。本例假设接入点在范围内,并在所需的信道中传输OFDM信标。

请参阅设置和配置部分USRP®收音机的文档有关配置主机与SDRU Receiver系统对象配置的详细信息。

此示例需要WLAN Toolbox™。

介绍

此示例具有以下目标:

  • 使用SDRU系统对象从MATLAB®中的商业WLAN发射器接收信号。

  • 说明了使用WLAN工具箱和通信工具箱™具有现实世界信号和无线电硬件,演示完整数据包同步和解码。

在该示例中,Sdreceiver系统对象通过通过空气传输损坏的数据,并输出由WLAN RF前端对象处理的复数基带信号。该示例显示了在流布置中一起工作以恢复数据包的WLAN信号恢复功能。它还展示了如何使用WLAN工具箱解码恢复的介质访问控制(MAC)层数据包。

代码架构

这个函数runwlannonhtreceiver.使用两个系统对象,comm.sdrureceiver和rffrontend实现数据包捕获和同步。一旦捕获,数据包用WLAN工具箱函数解码。

SDRU接收器

MATLAB使用SDRU接收器系统对象与USRP®板通信。参数结构config.radioInfo.设置硬件参数,例如获得DecimationFactor,MasterClockRate

RF前端

unhtfrontend.提供数据包同步和集合。这发生在四个阶段:

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

  1. 符号计时:一旦数据包被检测到,几个未来的符号将被捕获到一个缓冲区。这个缓冲区相互关联来定位L-LTF。定位L-LTF首先提供良好的符号定时,为包中所有连续符号识别OFDM符号边界。在捕获整个L-LTF后,用于信道估计和精细频偏估计。

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

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

一旦收到完整数据包或处理链期间发生任何故障,接收器将返回到数据包检测以搜索更多数据包。在所请求的捕获时间的持续时间内重复该过程。捕获时间与从无线电拉动的数据量相关,而不是物理仿真的运行时间。

检查WLAN工具箱是否存在

如果isempty(ver('WLAN')) 错误('请安装WLAN Toolbox以运行此示例。');结尾

发现收音机

发现无线电连接到您的计算机。这个例子使用findsdru.函数。检查收音机是否可用。记录射频类型,并根据该类型设置配置。

config.radioInfo.= getRadioInfoWLANBeacon(); disp(Config.RadioInfo);

设置仿真参数

请求用户输入从命令行进行仿真参数。将要求1)以秒为单位,2)绘制状态(开/关),3)从恢复的数据包显示的数据量,4)为MAC地址启用供应商查找,5)感兴趣的乐队和6)您要扫描的频道。如果启用了供应商查找此功能也将下载MAC地址查找表,由IEEE公开提供。

config.siminfo = getUserInputWlanbeAcon();

要在地理位置中查找有效的频道编号,请参阅文件

%获取频道号码回复=输入([“你想扫描的乐队是什么?\ n'......'1 == 5 GHz频段(默认)\ n'......'2 == 2.4 GHz频段\ n [1]:'],');如果isempty(回复)回复='1';结尾如果StrcMP(回复,'1')Bandtoscan = 5;ValidChannels = [......'7-16(5.035-5.080 GHz)\ n'......' 34-64 (5.170-5.320 GHz)\n'......'100-144(5.550-5.720 GHz)\ n'......'149-165(5.745-5.825 GHz)\ n'......];DefaultChannels =.'[153 157]';别的bandtoscan = 2.4;ValidChannels = [......'1-13(2.412-2.472 GHz)\ n'......'14(2.484 GHz)\ n'......];DefaultChannels =.'[1 6]';结尾%获取频道扫描回复=输入(['有效的通道编号是:\n'validChannels.......'你想扫描哪种频道?'defaultChannels.':'],');如果isempty(reply) reply = defaultChannels;结尾channelsToScan =重塑(str2num(回复),[],1);% #好< ST2NM >

Codegen加速

为了加速接收器功能性能,如果您具有有效的MATLAB编码器™许可证,则会生成代码。

runCodegen = false;如果checkcodegenlicense回复=输入(你想为接收者生成MEX文件吗?Y / N (N):“');如果isempty(回复)回复='n';结尾如果Strcmpi(回复,'是')runco​​degen = true;结尾结尾compileit = runco​​degen;%为接收器生成MEX文件如果compileit fprintf('为接收器生成MEX文件\ n');清晰的runwlannonhtreceiver_mex.Codegen('runwlannonhtreceiver''-args',{1e9,coder.constant(config)});结尾

捕获和解码基于ofdm的数据包

捕获并尝试解码频道列表的数据包,以获取所请求的时间量。中心频率是收音机的可调参数;因此,可以在不必重新生成整个接收器功能的代码的情况下改变。

为了频道= 1:长度(channelsToScan)%计算频道中心频率WINFENTERFREQUENCY = HelperwleanchannEvencequency(ChannelStocan(频道),Bandtoscan);%运行接收器fprintf('频道%d(%1.3f ghz)\ n'处的运行接收器......ChannelStocan(频道),WINFENTERFREQUENCY / 1E9);如果runco​​degen runwlannonhtreceiver_mex(WINFENTERFREQUENCY,CONFIG);别的runwlannonhtreceiver(Wifumenterfry,Config);结尾结尾%跑步完成fprintf('所需的频道扫描\ n');

运行模拟时,捕获后立即解码恢复的数据包。如果他们通过他们的FCS检查,他们是亚型灯架,信息将被打印到命令行。示例输出如下:

在通道153(5.765 GHz)SSID中运行接收器(5.765 GHz)SSID:W-Guest包解码:1 -------------  -  SSID:W-Guest包解码:2 --------------- ###处理了100毫秒的收到数据... SSID:W-Guest包解码:3 -------------- SSID:W-Guest包解码:4 ------------- ###处理200毫秒的接收数据...运行接收器157(5.785GHz)SSID:W-Guest包解码:5 -------------- ###处理了100毫秒的收到数据... SSID:W-Guest包解码:6 -------------- ###处理200毫秒的接收数据...所需的频道扫描

不同的USRP®子板的增益行为大大变化。因此,在该示例中定义的增益设置可能不适合您的女儿板。如果接收器系统未正确解码数据包,则可以改变源信号的增益SDRU接收器通过更改config.usrpgain值来系统对象接收器初始化文件

所需的收集时间不应超过5秒。为确保来自USRP®的连续数据,使用突发模式,在内部存储单独的缓冲区中的样本。此缓冲区的最大大小是OS相关的,并且在收集时间太长时将超过。使用B系列USRP®设备时,通过运行重置无线电可以很有用call_uhd_app('b2xx_fx3_utils',' - d')如果是功能runwlannonhtreceiver.过早退出。

附录

此示例使用以下脚本和辅助功能:

还使用以下WLAN工具箱功能:

参考文献

  1. IEEE STD 802.11-2012(IEEE STD 802.11-2007的修订版) - 信息技术的IEEE标准 - 系统本地和大都市区之间的电信和信息交流 - 特定要求第11部分:无线LAN媒体访问控制(MAC)和物理层(PHY)规格

版权声明

Universal Software RadioPerizalal®和USRP®是国家仪器公司的商标。