MU-OFDMA 传输可以从 MU - 触发帧 开始,之后各站点会返回 CTS(清除发送)帧;或者也可以由 AP 主动发送 CTS 帧,以确保在 AP 传输期间,其他设备不会发起传输。
下图出自 IEEE 802.11ax 草案。

图 1:(MU-RTS/CTS)下行 MU PPDU/ACK 响应及网络分配向量(NAV)设置
PCAP 抓包中的 MU-OFDMA 流程
以下抓包是通过 Intel AX210 无线网卡采集的,我已隐去了 MAC 地址。
你可以看到,该抓包的结构与上方图 1 中草案定义的流程完全一致。
- MU-RTS 触发帧
- CTS 响应:按图 1 中的流程,本应由各设备返回 CTS,但在本次抓包中是 AP 向自身发送 CTS(CTS to self),以确保 AP 传输期间没有其他设备发起传输。
- 数据传输 :HE-MU PPDU,使用 160 音调的资源单元(RU)。
- ACK 响应:AP 完成数据发送后,各设备返回 ACK。如果 HE 非 AP 站点收到触发帧或 UMRS 控制字段,会以 HE TB PPDU 的形式进行响应。

图 2:基于 AX210 的抓包(PCAP)
让我们来研究 MU - 触发帧:
触发帧有多种类型,而我们关注的是在 MU-OFDMA 传输中,用于向不同用户分配资源的触发帧。
那么,我们可以从 MU - 触发帧中获得哪些信息呢


图 3:触发帧 ------ 基于 AX210 的抓包(PCAP)
抓包(PCAP)中显示的字段,与 IEEE 草案图 9-64 里定义的帧格式完全一致。现在我们来逐一解析每个字段:
- 帧控制(Frame control) :
- 版本控制(Version control)
- 帧类型与子类型(Frame type and subtype)
- 标志位(Flags),这也是帧控制字段的一部分,我之前未重点标注。
- 持续时间(Duration):传输该帧所需的时间。
- RA/TA 字段(RA/TA field) :这是一个广播帧,因此接收地址始终为
ff:ff:ff:ff:ff:ff;在本场景中,发送地址为 AP 的地址。 - 公共信息(Common info):包含 AP 的部分配置信息,供客户端配置其上行传输。
- 用户信息(User info) :与客户端设备关联的资源单元(RU)信息,包含对应的关联标识符(AID)。
- 填充位(Padding)与帧校验序列(FCS):功能显而易见,不再赘述。
触发帧的大多数字段都沿用了传统帧的格式,但有两个新增的信息字段需要重点关注:
- 公共信息(Common info)
- 用户信息(User info)

现在我们来看抓包(PCAP)中的公共字段。
现在我们来看抓包(PCAP)中的公共字段。

图 4:触发帧公共信息字段
这里包含了一些关键信息,我们将从第一个字段开始逐一解析:
- 我们已知这是一个 MU-RTS 触发帧,这一点在公共信息字段中也有体现。
- UL 长度子字段:表示所请求的 HE TB PPDU 中 L-SIG LENGTH 字段的值。
- 更多触发帧(More TF):指示后续是否还有触发帧需要传输。
- 载波侦听(CS):该字段设为 1 时,表示用户信息字段中标识的站点(STA)需要使用能量检测(ED)来侦听信道状态,并结合网络分配向量(NAV)判断是否响应。
- 上行带宽(UL BW):通常用于描述响应的上行带宽。但在 MU-RTS 中,公共信息字段的 UL BW 子字段表示承载 MU-RTS 的帧自身的带宽。
表 1:UL BW 编码

其他公共信息字段解析
- 保护间隔(GI)与 HE-LTF 类型:指示 HE TB PPDU 响应所使用的 GI 和 HE-LTF 类型。
表 2:GI 和 HE-LTF 子字段编码

- MU-MIMO HE-LTF 模式:公共信息字段的该子字段用于指示,当 HE TB PPDU 的资源单元(RU)占用整个带宽且分配给多个非 AP 站点(即上行 MU-MIMO)时,所使用的 HE-LTF 模式。
- 当 GI & HE-LTF 类型子字段的值为
2x HE-LTF + 1.6 μs GI或4x HE-LTF + 3.2 μs GI时,需参考表 3;否则,该子字段设为指示 HE 单流导频 HE-LTF 模式。
表 3:MU-MIMO HE-LTF 模式编码

更多公共信息字段
- UL STBC:公共信息字段的该子字段指示所请求的 HE TB PPDU 是否使用 STBC 编码。设为 1 表示启用 STBC,设为 0 则表示不启用。
- LDPC 额外符号段:该子字段指示所请求的 HE TB PPDU 中是否存在 LDPC 额外符号段。设为 1 表示存在,设为 0 则表示不存在。
- AP 发射功率 :该子字段表示 AP 在所有天线的发射天线连接器处的总发射功率,单位为 dBm/20 MHz。发射功率计算公式为:
PTX = -20 + FVal(其中FVal为该子字段的值),但当FVal大于 60 时为保留值。 - 前 FEC 填充因子(Pre-FEC Padding Factor)与 PE 消歧(PE Disambiguity):定义见 IEEE 草案表 9-29g,编码方式与 HE SIG-A 中对应的子字段一致。
- 多普勒(Doppler):该子字段设为 1 时,表示 HE TB PPDU 中包含中导码(midamble),设为 0 则表示不包含。
- UL HE-SIG-A2 保留字段:该子字段的值会被包含在所请求的 HE TB PPDU 的 UL HE-SIG-A2 子字段中。HE AP 会将该子字段的值设为全 1。
用户信息(User Info)
顾名思义,该字段包含与用户相关的信息,用于指示 AP 为客户端设备配置的传输类型。

20MHz 带宽(最多支持 9 个用户)
在我们这个示例的触发帧中,仅包含了 2 台设备。

图 5:用户信息字段
- AID(关联标识符)是在关联响应阶段分配给设备的。AID12 子字段的编码规则如下:

资源单元(RU)分配
RU 分配需要结合公共信息字段中的上行带宽(UL BW),因为 RU 分配的范围取决于信道带宽大小。RU 分配区域仅在使用 80+80 MHz 或 160 MHz 信道带宽时有效:
- 如果 UL BW 子字段表示 20 MHz、40 MHz 或 80 MHz PPDU,则 RU 分配子字段的 B0 位设为 0。
- 如果 UL BW 子字段表示 80+80 MHz 或 160 MHz,且 RU 分配子字段的 B0 位设为 0,则表示 RU 分配仅适用于主 80 MHz 信道。
- 如果 UL BW 子字段表示 80+80 MHz 或 160 MHz,且 RU 分配子字段的 B0 位设为 1,则表示 RU 分配适用于副 80 MHz 信道。
- 下一个字段 "RU 分配(音调数)",表示为该设备或站点分配了多少音调 / 资源单元(RU)用于下行传输。
用户信息字段的其他子字段
- 上行 FEC 编码类型(UL FEC Coding Type):指示所请求的 HE TB PPDU 使用的编码类型。设为 0 表示 BCC 编码,设为 1 表示 LDPC 编码。
- 上行 HE-MCS(UL HE-MCS):指示所请求的 HE TB PPDU 使用的 HE-MCS(调制与编码策略)。
- 上行 DCM(UL DCM):指示所请求的 HE TB PPDU 是否使用 DCM(双载波调制)。设为 1 表示启用 DCM,设为 0 则表示不启用。如果公共信息字段中的 UL STBC 子字段设为 1,该字段也会设为 0。
- 空间流分配(SS Allocation):指示所请求的 HE TB PPDU 的空间流数量及格式。
- 上行目标接收功率(UL Target Receive Power):表示 AP 天线连接器处预期接收到的信号功率(所有天线的平均值),针对 HE TB PPDU 的 HE 部分,其定义见下表:

总结:
文章内容主要介绍了IEEE 802.11ax 标准与 Intel AX210 抓包,也解析了 MU-OFDMA 触发帧流程与结构:传输可由 MU 触发帧启动,AP 可发 CTS-to-self 防冲突;触发帧含传统字段与新增公共信息、用户信息;公共信息配置上行传输参数,用户信息分配 RU、MCS、空间流等资源,指导站点上行响应,等这些内容.