wlanAMPDUDeaggregate
解聚A-MPDU,提取mpdu
语法
描述
例子
解聚HT A-MPDU
创建WLAN MAC帧配置对象,指定帧类型、帧格式和MPDU聚合。
cfgMAC = wlanMACFrameConfig(“FrameType”,“QoS数据”,...“FrameFormat”,“HT-Mixed”,“MPDUAggregation”1);
创建HT配置对象,指定MPDU聚合。
cfgPHY = wlanHTConfig(“AggregatedMPDU”1);
创建一个8个msdu的随机有效载荷,然后用它生成一个比特形式的a - mpdu。
有效载荷= repmat({randi([0 255],1,40)},1,8);ampdu = wlanMACFrame(有效载荷,cfgMAC,cfgPHY,“OutputFormat”,“位”);
通过解聚A-MPDU返回mpdu列表。
phyFormat =“HT”;[mpduList,failCRC,status] = wlanAMPDUDeaggregate(ampdu,phyFormat);
通过显示分隔符CRC的结果和解码状态,确认解聚成功。
disp (failCRC)
0 0 0 0 0 0 0
disp(状态)
成功
解聚VHT A-MPDU
创建WLAN MAC帧配置对象,指定帧类型和帧格式。
cfgMAC = wlanMACFrameConfig(“FrameType”,“QoS数据”,“FrameFormat”,“VHT”);
创建一个具有默认设置的VHT配置对象。
cfgPHY = wlanVHTConfig;
创建一个8个msdu的随机有效载荷,然后用它来生成一个比特形式的a - mpdu。
有效载荷= repmat({randi([0 255],1,40)},1,8);ampdu = wlanMACFrame(有效载荷,cfgMAC,cfgPHY,“Outputformat”,“位”);
对A-MPDU进行解聚。
[mpduList,failCRC,status] = wlanAMPDUDeaggregate(ampdu,cfgPHY);
通过显示分隔符CRC的结果和解码状态,确认解聚成功。
disp (failCRC)
0 0 0 0 0 0 0
disp(状态)
成功
解码mpdu从A-MPDU提取
解聚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,status] = wlanAMPDUDeaggregate(ampdu,cfgPHY, ampdu)...“DataFormat”,“八位位组”);disp(状态)
成功
disp (failCRC)
0 0 0 0 0 0 0
解码所提取的所有mpdu。通过显示状态确认解码成功。
如果比较字符串(状态,“成功”)为i = 1:数字(mpduList)如果~failCRC(i) [cfgMAC,payload,status(i)] =...cfgPHY wlanMPDUDecode (mpduList{我},...“DataFormat”,“八位位组”);结束结束结束disp(状态)
第一到第七栏成功成功成功成功成功成功成功成功第八栏成功
输入参数
ampdu
- - - - - -待分解的A-MPDU
binary-valued向量|区间[0,255]中的整数向量|字符串标量|字符数组
要解聚合的A-MPDU,指定为以下值之一。
以位格式表示A- mpdu的二进制值向量
一个整数向量,间隔为[0,255],表示十进制格式的八位
以十六进制格式的八字节表示A- mpdu的字符串标量
用十六进制格式的八位元表示A- mpdu的字符向量
字符数组,其中每行表示十六进制格式的一个八位元
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
phyFormat
- - - - - -PHY格式
“HE-SU”
|“HE-EXT-SU”
|“HE-MU
|“HE-TB”
|“VHT”
|“HT”
PHY格式,指定为这些值之一。
“HE-SU”
—HE SU (High-efficiency single-user)格式“HE-EXT-SU”
- HE增程SU (HE ER SU)格式“HE-MU”
—HE多用户(HE MU)格式“HE-TB”
—HE TB (trigger-based)格式“VHT”
—VHT (very high-throughput)格式“HT”
—HT (High-throughput)格式
数据类型:字符
|字符串
cfgPHY
- - - - - -PHY格式和传输参数
wlanHESUConfig
对象|wlanHEMUConfig
对象|wlanHETBConfig
对象|wlanHERecoveryConfig
对象|wlanVHTConfig
对象|wlanHTConfig
对象
PHY格式和传输参数,指定为这些对象之一。
wlanHESUConfig
- HE SU或HE ER SU格式wlanHEMUConfig
- HE MU格式wlanHETBConfig
- HE TB格式wlanHERecoveryConfig
-恢复HE传输在HE SU, HE ER SU,或HE MU格式wlanVHTConfig
- VHT格式wlanHTConfig
- HT格式
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“DataFormat”、“八位字节的
DataFormat
- - - - - -输入A-MPDU的格式
“位”
(默认)|“八位位组”
SuppressWarnings
- - - - - -屏蔽警告消息
假
或0
(默认)|真正的
或1
禁止警告消息,指定为由逗号分隔的对组成“SuppressWarnings”
其中一个值。
假
或0
—允许发送警告信息。真正的
或1
—屏蔽警告信息。
数据类型:逻辑
输出参数
mpduList
—mpdu列表
字符数组的单元格数组
MPDU列表,作为字符数组的单元格数组返回,其中每个字符数组对应一个MPDU。在这些字符数组中,每一行都是一个八位元的十六进制表示。
如果在输入的A-MPDU中没有找到MPDU分隔符,则函数返回mpduList
作为一个空单元格数组。
数据类型:细胞
failCRC
—分隔符CRC失败指示器
逻辑值的行向量
分隔符CRC失败指示符,作为逻辑值的行向量返回。这个向量的每个元素都表示A-MPDU子帧的分隔符CRC失败状态。
值为1
为k元素的第th个分隔符CRC失败k第A-MPDU子帧。在这种情况下,k的第Th元素mpduList
包含一个可能无效的MPDU。
值为0
为k属性的分隔符CRCk子帧。在这种情况下,k的第Th元素mpduList
包含有效的MPDU。
数据类型:逻辑
状态
—A-MPDU解聚状态
负的整数
a - mpdu解聚状态,在间隔[- 20,0]内以非正整数形式返回。的每个枚举值状态
类的成员wlanMACDecodeStatus
枚举类,表示根据该表解析MAC帧的状态。
枚举值 | 枚举类的成员 | 解码状态 |
0 |
成功 |
MAC帧成功解码 |
-1 |
FCSFailed |
帧检查序列(FCS)失败 |
-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 |
强制性ie缺失 |
-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 |
公共信息字段的UL长度子字段的值无效,对应于遗留信号(L-SIG)字段的长度。 |
以外的枚举值0
意思是A-MPDU分解停止,因为输入的A-MPDU损坏或畸形。
数据类型:int16
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。