本示例演示如何配置和生成WLAN MAC帧,然后通过解析MAC帧恢复MSDUs的负载。
IEEE®802.11™系列标准支持四种类型的MAC帧:控制、数据、管理和扩金宝app展。在每一种类型中,标准定义了一系列子类型,每一种子类型在802.11™网络中都有特定的用途。
这个示例演示了如何使用WLAN工具箱™配置对象和功能配置、生成和解析MPDUs和A-MPDUs。
为数据帧创建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(状态)
成功
创建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解码状态:成功