主要内容

生成和解析WLAN MAC帧

本举例介绍了如何配置和生成WLAN MAC帧,然后通过解析MAC帧来恢复msdu的负载。

简介

IEEE®802.11™系列标准支持四种类型的MAC帧:控制、数据、管理和扩金宝app展。在这些类型中,标准定义了一系列子类型,每个子类型在802.11™网络中都有特定的用途。

本示例演示如何使用WLAN Toolbox™配置对象和函数配置、生成和解析mpdu和a - mpdu。

生成和解码MPDU

为数据帧创建MAC帧配置对象,指定HE SU (high-efficiency single-user)物理层的配置。

cfgMPDU = wlanMACFrameConfig(“FrameType”“数据”“FrameFormat”“HE-SU”);

将MSDU指定为位格式的八位字节数字向量。您也可以将msdu指定为字符向量或十六进制格式的八位字符串。

Msdu = randi([0 255],32,1);

函数生成MPDUwlanMACFrame函数,指定位作为输出格式。

[mpdu,mpduLength] = wlanMACFrame(msdu,cfgMPDU,“OutputFormat”“位”);

命令恢复MSDUwlanMPDUDecode函数。该函数还返回MAC帧配置对象和解码状态。检查解码操作是否返回正确的帧格式并显示状态。

[rxCfgMPDU,payload,status] = wlanMPDUDecode(mpdu,wlanHESUConfig);disp (isequal (cfgMPDU.FrameFormat, rxCfgMPDU.FrameFormat))
1
disp(状态)
成功

生成并解析A-MPDU

创建QoS数据MAC帧的配置对象,指定HE SU PHY的配置。使能MPDU聚合,关闭MSDU聚合。

cfgAMPDU = wlanMACFrameConfig(“FrameType”“QoS数据”“FrameFormat”“HE-SU”...“MPDUAggregation”,真的,“MSDUAggregation”、假);

指定MSDU的单元格数组,将每个MSDU指定为位格式的八位字节的数字向量。您也可以将msdu指定为字符向量或十六进制格式的八位字符串。

mssdulist = repmat({randi([0 255],32,1)},1,4);

通过调用命令生成HE SU配置的MPDUwlanMACFrame函数。

cfphy = wlanHESUConfig(“主持人”5);[ampdu,ampduLength] = wlanMACFrame(msduList,cfgAMPDU,cfgPHY,“OutputFormat”“位”);

方法来反聚合A-MPDU以返回MPDU列表wlanAMPDUDeaggregate函数。该函数还返回分隔符循环冗余检查(CRC)的结果和A-MPDU解聚的状态。

[mpduList,delimiterCRCFailure,status] = wlanAMPDUDeaggregate(ampdu,cfgPHY);

显示分隔符CRC失败的次数和解聚状态。

disp (nnz (delimiterCRCFailure))
0
disp(状态)
成功

通过对解聚后的mpdu进行解码,得到msduwlanMPDUDecode功能和显示解码过程的状态。

如果比较字符串(状态,“成功”i = 1:数字(mpduList)如果~delimiterCRCFailure(i) [cfg,msdu,decodeStatus] = wlanMPDUDecode(mpduList{i},cfgPHY,“DataFormat”“八位位组”);disp ([“MPDU”num2str(我)'解码状态:'char (decodeStatus)))结束结束结束
MPDU 1解码状态:Success MPDU 2解码状态:Success MPDU 3解码状态:Success MPDU 4解码状态:Success

相关的话题