802.11 OFDM信标帧生成
本例展示了如何生成包含介质访问控制(MAC)信标帧的包,适用于基带模拟或使用软件定义无线电(SDR)平台进行空中传输。
简介
在本例中,您将创建IEEE®802.11™信标帧,如第9.3.3.3节所述。1].通过Wi-Fi设备可以查看到SDR方式传输的信标报文,如图所示。
信标帧是一种管理帧,用于标识由某些802.11设备组成的基本服务集BSS (basic service set)。信标帧由MAC报头、信标帧体和有效帧检查序列(FCS)组成。信标帧体包含允许站与网络关联的信息字段。
您可以以基带文件格式存储生成的波形。
您还可以通过空中传输生成的波形。使用Xilinx®Zynq-Based Radio SDR硬件对信标包进行射频传输。无线电硬件可以在空中传输波形。
通过空中传输信标需要基于Xilinx zynq的无线电支持包,您可以使用金宝app扩展浏览器.有关SDR平台的更多信息,请参见硬件支持:通信工具金宝app箱.
示例设置
信标包可以写入基带文件并使用SDR平台传输。使用SDR平台集传输信标useSDR
为true。写入基带文件集saveToFile
为true。
useSDR = false;saveToFile = false;
创建IEEE 802.11信标帧
根据“信标间隔”字段中指定的目标信标传输时间TBTT (target beacon transmission time), STA周期性地发送信标报文。信标间隔表示tbtt之间的时间单位(TU), 1tu代表1024微秒。如果信标间隔为100tu,则连续信标之间的时间间隔为102.4毫秒。方法可以生成信标帧wlanMACFrame
功能与介质访问控制(MAC)帧配置对象wlanMACFrameConfig
和MAC帧-体配置对象wlanMACManagementConfig
.
指定网络服务集标识符(SSID)、信标间隔、工作频带和通道号。
名称=“TEST_BEACON”;beaconInterval = 100;Band = 5;chNum = 52;
创建MAC帧-体配置对象,设置“SSID”和“Beacon Interval”字段值。
frameBodyConfig = wlanMACManagementConfig(...BeaconInterval = BeaconInterval,...名称= SSID);
将DS参数信息元素(IE)添加到帧体中艾迪
对象的功能。
dsElementID = 3;dsInformation = dec2hex(chNum,2);frameBodyConfig = frameBodyConfig. addie (dsElementID,dsInformation);
创建信标帧配置对象。
beaconFrameConfig = wlanMACFrameConfig(FrameType=“灯塔”,...ManagementConfig = frameBodyConfig);
生成信标帧位。
[mpduBits,mpduLength] = wlanMACFrame(beaconFrameConfig,OutputFormat=“位”);
计算指定工作频带和信道数的中心频率。
fc = wlanChannelFrequency(chNum,band);
创建IEEE 802.11信标包
配置一个非ht信标包,具有相应的PSDU长度,信道带宽为20mhz,发射天线1个,BPSK调制,编码率为1/2(对应MCS索引0)wlanNonHTConfig
对象。
cfgNonHT = wlanNonHTConfig(PSDULength=mpduLength);
方法生成过采样信标包wlanWaveformGenerator
函数,指定空闲时间。
Osf = 2;tbtt =信标间隔*1024e-6;tx波形= wlanWaveformGenerator(mpduBits,cfgNonHT,...OversamplingFactor = osf, Idletime = tbtt);
得到波形采样率。
Rs = wlanSampleRate(cfgNonHT, overamplingfactor =osf);
将波形保存到文件
方法将波形保存在基带文件中comm.BasebandFileWriter
对象。
如果bbw = com . basebandfilewriter (“nonHTBeaconPacket.bb”、Rs、fc);% #好< UNRCH >bbw (txWaveform);释放(bbw);结束
使用SDR设备传输
在本节中,您将使用SDR设备空中传输信标包。
如果useSDRSDR平台必须支持transmitRepeat。金宝app有效平台为'AD936x'和'FMCOMMS5'。sdrPlatform =“AD936x”;% #好< UNRCH >tx = sdrtx(sdrPlatform);tx.BasebandSampleRate = Rs;%将中心频率设置为相应的通道号tx.CenterFrequency = fc;结束
为了削弱信号或降低波形的传输质量,可以调整发射机增益tx.Gain
.这个参数以dB表示,驱动收音机中的功率放大器。您可以使用这些建议值,或者根据您的天线配置选择不同的值。
为增加增益,设置
tx.Gain
参数0
.对于默认增益,设置
tx.Gain
参数-10
.为减少增益,设置
tx.Gain
参数-20年
.
将基带波形传输到SDR平台transmitRepeat
函数,然后将信号样本存储在硬件存储器中。然后,该示例在空中重复传输此波形,直到调用传输对象的释放方法。命令窗口提示传输启动成功。
如果useSDR%设置发射增益tx.增益= 0;% #好< UNRCH >通过空中传送transmitRepeat (tx txWaveform);结束
结论及进一步探索
本例展示如何为IEEE 802.11标准生成信标包,并通过Wi-Fi设备查看SDR硬件传输的信标包。您可以使用存储的基带信标包来恢复使用使用软件定义无线电的OFDM信标接收机的例子。
相关的例子
参考文献
IEEE Std 802.11™-2020 IEEE(IEEE Std 802.11-2016修订版)。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范IEEE信息技术标准。系统间的电信和信息交换局域网和城域网。特殊要求