主要内容

wlanMPDUDecode

解码MPDU

自从R2019a

描述

例子

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

这个函数也回报状态、MPDU解码的结果cfgMAC,一个wlanMACFrameConfig配置对象。

例子

(cfgMAC,有效载荷,状态)= wlanMPDUDecode (mpdu,cfgPHY)解码MPDU利用PHY传输参数cfgPHY

例子

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

例子

全部折叠

创建一个无线局域网MAC帧配置对象MPDU高效的单用户(他苏)格式,然后生成MPDU。

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

返回由指定PHY解码MPDU MSDUs格式配置。

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

确认成功的解码显示状态。

disp(状态)
成功

创建一个无线局域网MAC帧配置对象QoS数据帧,然后生成MPDU。

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

创建一个non-high-throughput-format (non-HT-format)与默认设置配置对象。

cfgPHY = wlanNonHTConfig;

返回由指定PHY解码MPDU MSDUs格式配置。

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

确认成功的解码显示状态。

disp(状态)
成功

提取MPDUs Deaggregate一VHT A-MPDU和解码。

创建一个无线局域网MAC帧的配置对象VHT A-MPDU。

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

使用默认设置创建一个VHT-format配置对象。

cfgPHY = wlanVHTConfig;

生成一个随机载荷的八MSDUs。

txPayload = repmat({兰迪(255)[0,1,40)},1,8);

生成包含八个MPDUs A-MPDU为指定的MAC层和物理层配置。

ampdu = wlanMACFrame (txPayload txCfgMAC cfgPHY);

提取列表MPDUs deaggregating A-MPDU。显示的状态deaggregation CRC和分隔符。

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

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

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

输入参数

全部折叠

MPDU解码,指定这些值。

  • binary-valued向量代表了MPDU位形式

  • 一个向量的整数区间[0,255]代表十进制格式的八位字节

  • 一个字符串标量代表MPDU八位字节十六进制格式

  • 一个特征向量代表了MPDU八位字节十六进制格式

  • 一个字符数组,每一行代表一个八位字节十六进制格式

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

PHY格式,指定为其中一个值。

  • “HE-SU”——高效的单用户(他苏)格式

  • “HE-EXT-SU”——他对于苏苏(ER)格式

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

  • “HE-TB”本文中描述,他基于触发器的结核病(他)格式是可行

  • “VHT”- Very-high-throughput (VHT)格式

  • “HT”-高通量(HT)格式

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

数据类型:字符|字符串

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

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:DataFormat =的八位字节

指定的格式输入MPDU,作为其中一个值。

  • “位”——指定mpdu一些格式的输入

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

数据类型:字符|字符串

抑制警告消息,指定这些值。

  • 0——允许警告消息。

  • 真正的1——抑制警告消息。

数据类型:逻辑

网格框架指示,指定为一个数字或逻辑1(真正的)或0()。表明框架源于网状站在网状BSS,设置该属性1(真正的)。函数使用该参数只有在解码帧类型的QoS数据或QoS Null。

数据类型:逻辑

输出参数

全部折叠

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

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

数据类型:细胞

MPDU解码状态,返回一个整数区间(-31 0)。每个值的状态对应的一员wlanMACDecodeStatus枚举类,这表明MAC帧解码的状态根据这个表。

枚举值 枚举类的成员 解码状态
0 成功 MAC帧成功解码
1 FCSFailed 帧校验序列(FCS)失败
2 InvalidProtocolVersion 无效的协议版本
3 Un金宝appsupportedFrameType 不支金宝app持的框架式
4 Un金宝appsupportedFrameSubtype 不支金宝app持的帧子类型
5 NotEnoughData 数据解码帧不足
6 Un金宝appsupportedBAVariant 块A金宝appck框架不支持的变体
7 UnknownBitmapSize 未知的位图的大小
8 UnknownAddressExtMode 未知的地址扩展模式
9 MalformedAMSDULength 畸形的总MAC服务数据单元(A-MSDU)与无效的长度
-10年 MalformedSSID 畸形的服务集标识符(SSID)信息元素(IE)
-11年 Malformed金宝appSupportedRatesIE 畸形率支持IE金宝app
-12年 MalformedIELength 畸形的IE长字段
-13年 MissingMandatoryIEs 强制IEs失踪
-14年 NoMPDUFound 没有MPDU A-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金宝appsupportedTriggerType 不支金宝app持的触发帧类型
-23年 UnknownHELTFTypeAndGI 未知的保护间隔(GI)和高效长培训领域(HE-LTF)类型
-24年 UnknownAPTxPower 未知值美联社Tx权力共同信息字段的子域
-25年 UnknownAID12Value 用户信息领域的未知值AID12子域
-26年 UnknownRUAllocation 未知值B7-B1俄文分配领域的用户信息字段
-27年 UnknownULMCS 未知值UL MCS用户信息领域的子域
-28年 UnknownTargetRSSI 未知的RSSI值UL目标用户信息领域的子域
-29年 Un金宝appsupportedBARType 酒吧金宝app不支持的值类型栏控制域的子域
-30年 MissingUserInfo 收到触发帧包含无效的用户信息字段
-31年 InvalidLSIGLength 无效值UL长度领域常见的信息字段,对应于遗留信号(L-SIG)字段的长度。

以外的一个枚举值0意味着MPDU解码失败了。如果解码失败,cfgMAC输出显示没有属性,函数返回有效载荷输出为一个空单元数组。

数据类型:int16

扩展功能

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

版本历史

介绍了R2019a