主要内容

瓦兰安普酒店

对A-MPDU进行分解,提取mpdu

描述

实例

[音乐爱好者,failCRC,地位) = wlanAMPDUDeaggregate (安普杜,物理格式)复苏音乐爱好者,介质访问控制(MAC)协议数据单元(MPDUs)的列表,通过解聚合安普杜,聚合MPDU (A-MPDU)。该功能通过使用合适的参数来分解A-MPDU物理格式,物理层(PHY)格式。

该函数还返回failCRC中找到的子帧的分隔符循环冗余检查(CRC)状态安普杜地位, A-MPDU解聚合状态。

实例

[音乐爱好者,failCRC,地位) = wlanAMPDUDeaggregate (安普杜,cfgPHY)使用PHY传输参数分解A-MPDUcfgPHY.

实例

[音乐爱好者,failCRC,地位) = wlanAMPDUDeaggregate (___,名称、值)除了使用以前语法中的任何输入参数组合外,还使用一个或多个名称-值对参数指定选项。

例子

全部崩溃

创建WLAN MAC帧配置对象,指定帧类型、帧格式和MPDU聚合。

cfgMAC=wlanMACFrameConfig(“FrameType”,“QoS数据”,...“框架格式”,“HT混合型”,“MPDUAggregation”,1);

创建HT配置对象,指定MPDU聚合。

cfgPHY = wlanHTConfig (“聚合PDU”,1);

创建八个MSDU的随机负载,然后使用它生成位形式的a-MPDU。

有效载荷=repmat({randi([0255],1,40)},1,8);ampdu=wlanMACFrame(有效载荷,cfgMAC,cfgPHY,“OutputFormat”,“比特”);

通过解聚合A-MPDU返回mpdu列表。

物理格式=“HT”;[mpduList、failCRC、状态]= wlanAMPDUDeaggregate (ampdu phyFormat);

通过显示分隔符CRC的结果和解码状态来确认成功的解聚集。

显示(故障CRC)
0 0 0 0 0 0 0 0
显示(状态)
成功

创建WLAN MAC帧配置对象,指定帧类型和帧格式。

cfgMAC=wlanMACFrameConfig(“FrameType”,“QoS数据”,“框架格式”,“VHT”);

创建一个具有默认设置的VHT配置对象。

cfgPHY = wlanVHTConfig;

创建8个msdu的随机有效负载,然后使用它生成位形式的a - mpdu。

有效载荷=repmat({randi([0255],1,40)},1,8);ampdu=wlanMACFrame(有效载荷,cfgMAC,cfgPHY,“Outputformat”,“比特”);

Deaggregate A-MPDU。

[mpduList,failCRC,status]=WLANAMPDU集合(ampdu,cfgPHY);

通过显示分隔符CRC的结果和解码状态来确认成功的解聚集。

显示(故障CRC)
0 0 0 0 0 0 0 0
显示(状态)
成功

解聚集VHT a-MPDU并解码提取的MPDU。

为VHT a-MPDU创建WLAN MAC帧配置对象。

txCfgMAC = wlanMACFrameConfig (“FrameType”,“QoS数据”,...“框架格式”,“VHT”);

使用默认设置创建VHT格式配置对象。

cfgPHY = wlanVHTConfig;

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

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

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

ampdu=WLANMAC帧(txPayload、txCfgMAC、cfgPHY);

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

(mpduList、failCRC、状态)= wlanAMPDUDeaggregate (ampdu cfgPHY,...“DataFormat”,“八位字节”);显示(状态)
成功
显示(故障CRC)
0 0 0 0 0 0 0 0

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

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

输入参数

全部崩溃

要被分解的A-MPDU,指定为这些值之一。

  • 以位格式表示A-MPDU的二进制值向量

  • 间隔为[0255]的整数向量,表示十进制格式的八位字节

  • 以十六进制格式将A-MPDU表示为八位字节的字符串标量

  • 以十六进制格式将A-MPDU表示为八位字节的字符向量

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

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

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

  • “HE-SU”-高效单用户(HE SU)格式

  • “HE-EXT-SU”-HE扩展范围SU(HE ER SU)格式

  • “和睦”—HE multi-user (HE MU)格式

  • “HE-TB”—基于HE触发器(HE TB)格式

  • “VHT”-超高吞吐量(VHT)格式

  • “HT”—HT (high throughput)格式

数据类型:字符|字符串

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

名称值参数

指定可选的逗号分隔的字符对名称、值参数。的名字是参数名和价值为对应值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家.

例子:“DataFormat”、“八位字节的

输入A-MPDU的格式,指定为逗号分隔对,包括“DataFormat”其中一个值。

  • “比特”——指定安普杜位格式输入

  • “八位字节”——指定安普杜以八位元格式输入

数据类型:字符|字符串

禁止指定为逗号分隔对的警告消息“SuppressWarnings”其中一个值。

  • 错误的0—允许警告信息。

  • 真正的1.-禁止显示警告消息。

数据类型:必然的

输出参数

全部崩溃

MPDU列表,返回为字符数组的单元格数组,其中每个字符数组对应一个MPDU。在这些字符数组中,每一行都是一个八位元的十六进制表示。

如果在输入的A-MPDU中没有找到MPDU分隔符,则函数返回音乐爱好者作为空单元格数组。

数据类型:单间牢房

分隔符CRC失败指示符,作为逻辑值的行向量返回。这个向量的每个元素表示A-MPDU子帧的分隔符CRC失败状态。

价值1.K的分隔符CRC失败Kth A-MPDU子帧。在这种情况下K第th元素音乐爱好者包含可能无效的MPDU。

价值0K该向量的第th元素指示为K子帧。在这种情况下K第th元素音乐爱好者包含有效的MPDU。

数据类型:必然的

a - mpdu解聚合状态,以非正整数的形式返回,间隔为[- 20,0]。的每个枚举值地位对象的一个成员wlanMACDecodeStatus枚举类,根据该表显示MAC帧解析的状态。

枚举值 枚举类的成员 解码状态
0 成功 MAC帧成功解码
-1 FCS失败 帧检查序列(FCS)失败
-2 无效旋转溶解 无效的协议版本
-3 不支金宝app持的框架类型 不支金宝app持的框架式
-4 Un金宝appsupportedFrameSubtype 不支金宝app持的帧子类型
-5 NotEnoughData 数据不足,无法解码帧
-6 Un金宝appsupportedBAVariant 不支金宝app持的块Ack帧变体
-7 未知位图大小 未知的位图的大小
-8 未知模式 未知地址扩展模式
9 MalformedAMSDULength A-MSDU (aggregate MAC service data unit)畸形,长度不合法
-10 畸形类 畸形服务集标识符(SSID)信息元素(IE)
-11年 Malformed金宝appSupportedRatesIE 格式不正确的支持速率金宝app
-12年 MalformedIELength IE长度字段畸形
-13年 MissingMandatoryIEs 失踪
-14年 NoMPDUFound 在A-MPDU中未找到MPDU
-15年 腐败的人 接收到的A-MPDU中的所有分隔符均未通过循环冗余校验(CRC)
-16 InvalidDelimiterLength MPDU分隔符中的长度字段无效
-17年 MaxAMSDULenthExceeded A-MSDU超过最大长度限制
-18年 MaxMPDULengthExceeded MPDU超过最大长度限制
-19年 已超出MaxMMpDuleLength MAC管理帧长度超过最大限制
-20 MaxMSDULengthExceeded MSDU超过最大长度限制
-21年 意外保护帧 此帧类型的保护位值无效
-22年 未支金宝app持的RiggerType 不支金宝app持的触发帧类型
-23年 UnknownHELTFTypeAndGI 未知警戒间隔(GI)和高效长训练场(HE-LTF)类型
-24年 UnknownAPTxPower 通用信息字段的AP发送功率子字段的未知值
-25年 未知值12 用户信息字段的AID12子字段值未知
-26年 未知分配 用户信息字段的RU分配子字段中B7-B1的未知值
-27年 UnknownULMCS 用户信息字段的UL MCS子字段值未知
-28年 未知目标 用户信息字段的UL目标RSSI子字段的未知值
-29年 Un金宝appsupportedBARType BA金宝appR控制字段的BAR类型子字段不支持的值
-30 MissingUserInfo 收到的触发帧包含无效的用户信息字段
-31年 无效长度 通用信息字段的UL Length子字段无效,对应于遗留信号(L-SIG)字段的长度。

一个枚举值,而不是0表示A-MPDU解聚集已停止,因为输入A-MPDU已损坏或格式不正确。

数据类型:int16

扩展功能

C / c++代码生成
使用Matlab®编码器生成C和C++代码™.

在R2019a中引入