主要内容

生成和解析WLAN MAC帧

本示例演示如何配置和生成WLAN MAC帧,然后通过解析MAC帧恢复MSDUs的负载。

介绍

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

这个示例演示了如何使用WLAN工具箱™配置对象和功能配置、生成和解析MPDUs和A-MPDUs。

生成和解码MPDU

为数据帧创建MAC帧配置对象,指定高效单用户物理层(PHY)配置。

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

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

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

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

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

恢复MSDU通过调用wlanMPDUDecode函数。该函数还返回MAC帧配置对象和解码状态。检查解码操作是否返回正确的帧格式并显示状态。

[rxCfgMPDU、有效载荷、状态]= 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指定为位格式的八位数字向量。还可以将MSDUs指定为十六进制格式的字符向量或八位字符串。

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

为HE SU PHY配置生成MPDUwlanMACFrame函数。

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

将A-MPDU解聚合,通过调用wlanAMPDUDeaggregate函数。该函数还返回分隔符循环冗余检查(CRC)的结果和A-MPDU解聚合状态。

[mpduList、delimiterCRCFailure、状态]= 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解码状态:成功MPDU 2解码状态:成功MPDU 3解码状态:成功MPDU 4解码状态:成功

相关的话题