主要内容

wlanMPDUDecode

描述

例子

cfgMAC有效载荷状态) = wlanMPDUDecode (mpduphyFormat复苏有效载荷,一个或多个MAC服务数据单元(msdu),通过解码MAC协议数据单元(MPDU)mpdu.该函数通过使用适用于指定PHY格式的参数对MPDU进行解码。

函数也会返回状态, MPDU解码结果cfgMAC,一个wlanMACFrameConfig配置对象。

例子

cfgMAC有效载荷状态) = wlanMPDUDecode (mpducfgPHY利用PHY传输参数对MPDU进行解码cfgPHY

例子

cfgMAC有效载荷状态) = wlanMPDUDecode (___名称=值指定选项,使用一个或多个名称-值参数以及来自以前语法的任何输入参数组合。

例子

全部折叠

创建WLAN MAC帧配置对象(HE SU格式),并生成MPDU。

phyFormat =“HE-SU”;cfgMAC = wlanMACFrameConfig (“FrameFormat”, phyFormat);Payload = randi([0 255],1,40);cfgMAC mpdu = wlanMACFrame(有效载荷,“OutputFormat”“位”);

通过解码指定PHY格式配置的MPDU返回msdu。

[rxCfgMAC、有效载荷、状态]= wlanMPDUDecode (mpdu phyFormat);

通过显示状态确认解码成功。

disp(状态)
成功

创建WLAN的QoS数据帧MAC帧配置对象,生成MPDU。

cfgMAC = wlanMACFrameConfig (“FrameType”“QoS数据”);Payload = randi([0 255],1,40);cfgMAC mpdu = wlanMACFrame(有效载荷,“OutputFormat”“位”);

创建具有默认设置的非高吞吐量格式(非ht -format)配置对象。

cfgPHY = wlanNonHTConfig;

通过解码指定PHY格式配置的MPDU返回msdu。

[cfgMAC、有效载荷、状态]= wlanMPDUDecode (mpdu cfgPHY);

通过显示状态确认解码成功。

disp(状态)
成功

解聚VHT a - mpdu并解码提取的mpdu。

创建VHT a - mpdu的WLAN MAC帧配置对象。

txCfgMAC = wlanMACFrameConfig (“FrameType”“QoS数据”...“FrameFormat”“VHT”);

创建一个具有默认设置的vht格式配置对象。

cfgPHY = wlanVHTConfig;

生成8个msdu的随机有效载荷。

txPayload = repmat({randi([0 255],1,40)},1,8);

根据指定的MAC和PHY配置,生成包含8个mpdu的A-MPDU。

ampdu = wlanMACFrame (txPayload txCfgMAC cfgPHY);

通过解聚A-MPDU提取mpdu列表。显示解聚合和分隔符CRC的状态。

(mpduList、failCRC、状态)= wlanAMPDUDeaggregate (ampdu cfgPHY,...“DataFormat”“八位位组”);disp(状态)
成功
disp (failCRC)
0 0 0 0 0 0 0 0 0

解码所有的MPDUs在提取。通过显示状态确认解码成功。

如果比较字符串(状态,“成功”i = 1:元素个数(mpduList)如果~ failCRC(我)[cfgMAC、有效载荷、状态(i)) =...cfgPHY wlanMPDUDecode (mpduList{我},...“DataFormat”“八位位组”);结束结束结束disp(状态)
第一栏到第七栏成功成功成功成功成功成功成功成功第八栏成功

输入参数

全部折叠

要解码的MPDU,指定为以下值之一。

  • 以比特形式表示MPDU的二值向量

  • 一个整数向量,其间隔为[0,255],以十进制格式表示八位元

  • 一个字符串标量,以十六进制格式的八字节表示MPDU

  • 以十六进制格式的八位元表示MPDU的字符向量

  • 字符数组,其中每一行表示十六进制格式的一个八位元

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

PHY格式,指定为这些值之一。

  • “HE-SU”—高效的HE SU (single-user)格式

  • “HE-EXT-SU”- HE增程SU (HE ER SU)格式

  • “HE-MU”—HE多用户(HE MU)格式

  • “HE-TB”—HE TB格式

  • “VHT”—VHT (very high-throughput)格式

  • “HT”—HT (High-throughput)格式

  • “Non-HT”——Non-HT格式

数据类型:字符|字符串

PHY格式和传输参数,指定为这些对象之一。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:DataFormat =的八位字节

输入MPDU的格式,指定为以下值之一。

  • “位”——指定mpdu以位格式输入

  • “八位位组”——指定mpdu以八字节格式输入

数据类型:字符|字符串

抑制警告消息,指定为以下值之一。

  • 0—允许发送警告消息。

  • 真正的1—屏蔽警告信息。

数据类型:逻辑

网格帧指示,指定为数值或逻辑1真正的)或0).若要指示帧起源于网格BSS中的网格站,请将此属性设置为1真正的).该函数仅在解码QoS Data或QoS Null类型的帧时使用此参数。

数据类型:逻辑

输出参数

全部折叠

MAC帧配置,返回为wlanMACFrameConfig对象。

一个或多个msdu,作为字符数组的单元格数组返回。该函数为每个MSDU返回一个字符数组。在这些字符数组中,每一行都是一个八位元的十六进制表示。对于每一个不包含数据的MAC帧,函数返回有效载荷作为一个空单元格数组。

数据类型:细胞

MPDU解码状态,返回间隔为[- 31,0]的整数。每个值的状态类的成员wlanMACDecodeStatus枚举类,表示根据该表进行MAC帧解码的状态。

枚举值 枚举类的成员 解码状态
0 成功 MAC帧成功解码
-1 FCSFailed 帧检查序列失败
-2 InvalidProtocolVersion 无效的协议版本
3 Un万博1manbetxsupportedFrameType 不支万博1manbetx持的框架式
4 Un万博1manbetxsupportedFrameSubtype 不支万博1manbetx持的帧子类型
5 NotEnoughData 解码帧的数据不足
6 Un万博1manbetxsupportedBAVariant 不支万博1manbetx持的块Ack帧的变体
7 UnknownBitmapSize 未知的位图的大小
8 UnknownAddressExtMode 未知地址扩展模式
9 MalformedAMSDULength MAC服务数据单元(A-MSDU)长度无效
-10 MalformedSSID 畸形服务集标识符(SSID)信息元素(IE)
-11年 Malformed万博1manbetxSupportedRatesIE 畸形支持费率IE万博1manbetx
-12年 MalformedIELength IE长度字段畸形
-13年 MissingMandatoryIEs 强制IEs失踪
-14年 NoMPDUFound A-MPDU中没有发现MPDU
-15年 CorruptedAMPDU 收到的A-MPDU中的所有分隔符都没有通过循环冗余校验(CRC)
-16年 InvalidDelimiterLength MPDU分隔符中的长度字段无效
-17年 MaxAMSDULenthExceeded A-MSDU超过最大长度限制
-18年 MaxMPDULengthExceeded MPDU长度超过最大限制
-19年 MaxMMPDULengthExceeded MAC管理帧超过最大长度限制
-20年 MaxMSDULengthExceeded MSDU超过最大长度限制
-21年 UnexpectedProtectedFrame 此帧类型的受保护位的值无效
-22年 Un万博1manbetxsupportedTriggerType 不支万博1manbetx持的触发帧类型
-23年 UnknownHELTFTypeAndGI 未知警戒区间(GI)和高效长训练场(HE-LTF)类型
-24年 UnknownAPTxPower 普通信息字段的AP Tx功率子字段的值未知
-25年 UnknownAID12Value 用户信息字段的AID12子字段的未知值
-26年 UnknownRUAllocation 用户信息字段RU分配子字段B7-B1的未知值
-27年 UnknownULMCS 用户信息字段的UL MCS子字段的未知值
-28年 UnknownTargetRSSI 用户信息字段的UL目标RSSI子字段的未知值
-29年 Un万博1manbetxsupportedBARType BA万博1manbetxR控制字段的BAR类型子字段不支持的值
-30年 MissingUserInfo 接收到的触发帧包含无效的用户信息字段
-31年 InvalidLSIGLength Common Info字段的UL Length子字段的值无效,对应遗留信号(L-SIG)字段的长度。

枚举值,而不是0说明MPDU解码失败。如果解码失败,则cfgMAC输出不显示属性,函数返回有效载荷输出为空单元格数组。

数据类型:int16

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

介绍了R2019a