生成和解析无线局域网MAC帧
这个例子展示了如何配置和生成无线局域网MAC帧,然后恢复MSDUs载荷的解析MAC帧。
介绍
IEEE®802.11™标准的家庭支持MAC帧的四种类型:控制、数据管理和扩金宝app展。在每个这些类型,标准定义了一系列亚型,其中每个服务802.11™网络中的一个特定的目的。
这个案例展示了如何配置、生成和解析MPDUs和A-MPDUs通过WLAN工具箱™配置对象和函数。
生成和解码MPDU
创建一个MAC帧数据帧的配置对象,指定一个高效的单用户(他苏)物理层(体育)配置。
cfgMPDU = wlanMACFrameConfig (“FrameType”,“数据”,“FrameFormat”,“HE-SU”);
指定一个MSDU八位字节的数字矢量格式。您还可以指定MSDUs作为特征向量或字符串的八位字节十六进制格式。
msdu =兰迪([0 255),32岁,1);
生成MPDU通过调用wlanMACFrame
函数,指定比特的输出格式。
[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帧数据,指定一个他苏PHY配置。启用MPDU聚合和禁用MSDU聚合。
cfgAMPDU = wlanMACFrameConfig (“FrameType”,“QoS数据”,“FrameFormat”,“HE-SU”,…“MPDUAggregation”,真的,“MSDUAggregation”、假);
指定一个MSDUs单元阵列,指定每个MSDU八位字节的数字矢量格式。您还可以指定MSDUs作为特征向量或字符串的八位字节十六进制格式。
msduList = repmat({兰迪([0 255),32岁,1)},1、4);
为他苏PHY配置生成MPDU通过调用wlanMACFrame
函数。
cfgPHY = wlanHESUConfig (“主持人”5);[ampdu, ampduLength] = wlanMACFrame (msduList、cfgAMPDU cfgPHY,“OutputFormat”,“位”);
Deaggregate A-MPDU返回MPDU列表通过调用wlanAMPDUDeaggregate
函数。分隔符的函数也返回结果循环冗余校验(CRC)的地位A-MPDU deaggregation。
[mpduList、delimiterCRCFailure、状态]= wlanAMPDUDeaggregate (ampdu cfgPHY);
显示分隔符的数量CRC失败和deaggregation的状态。
disp (nnz (delimiterCRCFailure))
0
disp(状态)
成功
获得MSDUs通过解码deaggregated MPDUs与wlanMPDUDecode
功能和显示状态的解码过程。
如果比较字符串(状态,“成功”)为i = 1:元素个数(mpduList)如果~ delimiterCRCFailure(我)[cfg、msdu decodeStatus] = wlanMPDUDecode (mpduList {}, cfgPHY,“DataFormat”,“八位位组”);disp ([“MPDU”num2str(我)的解码状态:char (decodeStatus)))结束结束结束
MPDU 1解码状态:成功MPDU 2解码状态:成功MPDU 3解码状态:成功MPDU 4解码状态:成功